
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: sized_write_globals<64, true>
   DWARF original prototype: void sized_write_globals<64,_true>(Symbol_table * this, Stringpool *
   sympool, Stringpool * dynpool, Output_symtab_xindex * symtab_xindex, Output_symtab_xindex *
   dynsym_xindex, Output_file * of) */

void __thiscall
gold::Symbol_table::sized_write_globals<64,_true>
          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,
          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)

{
  Target *pTVar1;
  uint uVar2;
  uint uVar3;
  uint uVar4;
  uint uVar5;
  Sized_symbol<64> *pSVar6;
  Target *pTVar7;
  pointer pcVar8;
  General_options *pGVar9;
  _func_int_varargs *p_Var10;
  Object *pOVar11;
  Output_data *pOVar12;
  pointer ppOVar13;
  int iVar14;
  _Alloc_hider _Var15;
  byte bVar16;
  Output_segment *pOVar17;
  pointer pcVar18;
  uint uVar19;
  Output_section *pOVar20;
  int iVar21;
  char *format;
  int iVar22;
  byte bVar23;
  int extraout_EDX;
  uint shndx;
  STB SVar24;
  code *UNRECOVERED_JUMPTABLE;
  uint uVar25;
  bool bVar26;
  Output_data *local_84;
  uchar *local_7c;
  pointer local_60;
  uint local_5c;
  int local_58;
  _func_int_varargs **local_54;
  STB local_50;
  _Hash_node_base *local_4c;
  uchar *local_48;
  int *local_44;
  uint local_40;
  string local_34;
  
  pTVar1 = parameters->target_;
  if (pTVar1 == (Target *)0x0) {
LAB_00191bd3:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x69,"target");
  }
  uVar2 = this->first_global_index_;
  uVar3 = this->output_count_;
  iVar22 = *(int *)((int)&this->offset_ + 4);
  uVar4 = (uint)this->offset_;
  if ((uVar3 == 0) || (uVar4 == 0 && iVar22 == 0)) {
    local_7c = (uchar *)0x0;
  }
  else {
    if ((iVar22 < 0) ||
       (iVar21 = *(int *)((int)&of->file_size_ + 4),
       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),
       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,
       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))
    goto LAB_00191ca6;
    local_7c = of->base_ + uVar4;
  }
  uVar4 = this->first_dynamic_global_index_;
  uVar5 = this->dynamic_count_;
  iVar22 = *(int *)((int)&this->dynamic_offset_ + 4);
  uVar19 = (uint)this->dynamic_offset_;
  if ((uVar5 == 0) || (uVar19 == 0 && iVar22 == 0)) {
    local_48 = (uchar *)0x0;
  }
  else {
    if ((iVar22 < 0) ||
       (iVar21 = *(int *)((int)&of->file_size_ + 4),
       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),
       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,
       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {
LAB_00191ca6:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
    }
    local_48 = of->base_ + uVar19;
  }
  local_4c = (this->table_)._M_h._M_before_begin._M_nxt;
  if (local_4c != (_Hash_node_base *)0x0) {
    UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0);
    do {
      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;
      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&
           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,
           ((uint)pOVar17->output_lists_[3].
                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))
         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {
        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;
        if ((parameters->options_->allow_shlib_undefined_).value == false) {
          pTVar7 = parameters->target_;
          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;
          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {
            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);
            if ((char)iVar22 != '\0') goto LAB_00191160;
            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;
            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;
          }
          if (((uint)pOVar17->output_lists_[3].
                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                     _M_impl._M_end_of_storage & 0x20) == 0) {
            ppOVar13 = pOVar17->output_lists_[7].
                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                       _M_impl._M_end_of_storage;
            if (ppOVar13 == (pointer)0x0) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");
            }
            if (ppOVar13 != (pointer)0x1) {
              gold_undefined_symbol((Symbol *)pSVar6);
            }
          }
        }
      }
LAB_00191160:
      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;
      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;
      if (local_48 == (uchar *)0x0) {
        local_60 = (pointer)0xffffffff;
        pcVar18 = pcVar8;
      }
      else {
        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;
        if (local_60 == (pointer)0x0) goto LAB_00191b2e;
        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);
      }
      if (pcVar18 != (pointer)0xffffffff) {
        local_5c = (uint)pSVar6->value_;
        local_58 = *(int *)((int)&pSVar6->value_ + 4);
        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);
        pGVar9 = parameters->options_;
        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;
        bVar23 = (pSVar6->super_Symbol).field_0x2a;
        bVar16 = bVar23 & 7;
        uVar19 = local_5c;
        iVar22 = local_58;
        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {
          local_50 = SVar24;
          if ((SVar24 == STB_GNU_UNIQUE) &&
             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {
            local_50 = SVar24;
          }
          switch(bVar16) {
          case 0:
            if ((bVar23 & 7) != 0) goto _L2031;
            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;
            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;
            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {
              bVar26 = Symbol::is_common_shndx((uint)local_54);
              if (!bVar26) {
                demangle(&local_34,(pSVar6->super_Symbol).name_);
                _Var15._M_p = local_34._M_dataplus._M_p;
                format = (char *)gettext("%s: unsupported symbol section 0x%x");
                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */
                gold_error(format,_Var15._M_p,local_54);
                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                     *)local_34._M_dataplus._M_p != &local_34.field_2) {
                  operator_delete(local_34._M_dataplus._M_p);
                }
                break;
              }
              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {
LAB_001919e8:
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");
              }
            }
            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;
            if (((uint)pOVar17->output_lists_[3].
                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                       _M_impl._M_end_of_storage & 1) == 0) {
              iVar21 = (*(code *)pOVar17->output_lists_[0].
                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                                 ._M_impl._M_start[5])(pOVar17);
              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;
              if (((bVar23 & 1) != 0) ||
                 ((local_54 != (_func_int_varargs **)0xfff1 &&
                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {
                pOVar12 = pOVar17->output_lists_[0].
                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                          ._M_impl._M_start[0x18];
                if (pOVar12 == (Output_data *)Relobj::do_output_section) {
                  ppOVar13 = pOVar17->output_lists_[4].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_end_of_storage;
                  if ((_func_int_varargs **)
                      ((int)pOVar17->output_lists_[5].
                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;
                  local_84 = ppOVar13[(int)local_54];
                }
                else {
                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);
                }
                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);
                if (bVar26) {
                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);
                  if (local_44 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");
                  }
                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {
                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {
LAB_00191d06:
                    /* WARNING: Subroutine does not return */
                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
                    }
                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);
                  }
                  else {
                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);
                  }
                  if (local_84 == (Output_data *)0x0) {
                    /* WARNING: Subroutine does not return */
                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");
                  }
                }
                else if (local_84 == (Output_data *)0x0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");
                }
                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {
                  local_54 = local_84[3]._vptr_Output_data;
                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;
                }
                else {
                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);
                }
                if ((_func_int_varargs **)0xfeff < local_54) {
                  if (pcVar8 != (pointer)0xffffffff) {
                    local_34._M_string_length = (size_type)local_54;
                    local_34._M_dataplus._M_p = pcVar8;
                    std::
                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                              (&symtab_xindex->entries_,
                               (pair<unsigned_int,_unsigned_int> *)&local_34);
                  }
                  if (local_60 == (pointer)0xffffffff) {
                    local_54 = (_func_int_varargs **)0xffff;
                  }
                  else {
                    local_34._M_dataplus._M_p = local_60;
                    local_34._M_string_length = (size_type)local_54;
                    std::
                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                              (&dynsym_xindex->entries_,
                               (pair<unsigned_int,_unsigned_int> *)&local_34);
                    local_54 = (_func_int_varargs **)0xffff;
                  }
                }
                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;
                if ((parameters->options_->relocatable_).value != false) {
                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;
                  uVar25 = (uint)local_84->address_;
                  bVar26 = local_5c < uVar25;
                  local_5c = local_5c - uVar25;
                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));
                }
              }
            }
            else {
              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {
                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);
                iVar22 = extraout_EDX;
              }
              local_54 = (_func_int_varargs **)0x0;
              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);
            }
            break;
          case 1:
            goto LAB_001914e3;
          case 2:
            goto LAB_00191453;
          case 3:
_L2103:
            local_54 = (_func_int_varargs **)0xfff1;
            break;
          case 4:
_L2096:
            local_54 = (_func_int_varargs **)0x0;
            break;
          default:
            goto LAB_00191b4c;
          }
        }
        else {
          if (bVar16 == 0) {
            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&
               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*UNRECOVERED_JUMPTABLE)();
            return;
          }
          if (bVar16 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();
            return;
          }
                    /* WARNING: Could not find normalized switch variable to match jumptable */
          switch(bVar16) {
          case 0:
_L2031:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");
          case 1:
            local_50 = STB_GLOBAL;
LAB_001914e3:
            if ((bVar23 & 7) != 1) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");
            }
            pOVar11 = (pSVar6->super_Symbol).u1_.object;
            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);
            if ((_func_int_varargs **)0xfeff < local_54) {
              if (pcVar8 != (pointer)0xffffffff) {
                local_34._M_dataplus._M_p = pcVar8;
                local_34._M_string_length = (size_type)local_54;
                std::
                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);
              }
              if (local_60 == (pointer)0xffffffff) {
                local_54 = (_func_int_varargs **)0xffff;
              }
              else {
                local_34._M_dataplus._M_p = local_60;
                local_34._M_string_length = (size_type)local_54;
                std::
                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);
                local_54 = (_func_int_varargs **)0xffff;
              }
            }
            if (parameters->options_ == (General_options *)0x0) {
LAB_00191b7c:
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->relocatable_).value != false) {
              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);
              if (iVar21 == 0) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");
              }
              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {
LAB_00191c88:
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/output.h",0xc5,"address");
              }
              bVar26 = local_5c < *(uint *)(iVar21 + 4);
              local_5c = local_5c - *(uint *)(iVar21 + 4);
              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));
            }
            break;
          case 2:
            local_50 = STB_GLOBAL;
LAB_00191453:
            if ((bVar23 & 7) != 2) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");
            }
            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);
            if (pOVar20 == (Output_section *)0x0) goto _L2103;
            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];
            if (p_Var10 == Output_section::do_out_shndx) {
              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;
              if (local_54 == (_func_int_varargs **)0xffffffff) {
LAB_00191d3b:
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");
              }
            }
            else {
              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);
            }
            break;
          case 3:
            local_50 = STB_GLOBAL;
            local_54 = (_func_int_varargs **)0xfff1;
            break;
          case 4:
                    /* WARNING: This code block may not be properly labeled as switch case */
            local_50 = STB_GLOBAL;
            local_54 = (_func_int_varargs **)0x0;
            break;
          default:
LAB_00191b4c:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");
          }
        }
        if (pcVar8 != (pointer)0xffffffff) {
          uVar25 = (int)pcVar8 - uVar2;
          if (uVar3 <= uVar25) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");
          }
          sized_write_symbol<64,_true>
                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,
                     local_7c + uVar25 * 0x18);
        }
        if (local_60 != (pointer)0xffffffff) {
          uVar25 = (int)local_60 - uVar4;
          if (uVar5 <= uVar25) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");
          }
          sized_write_symbol<64,_true>
                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,
                     local_48 + uVar25 * 0x18);
          pTVar7 = parameters->target_;
          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;
          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {
            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);
          }
        }
      }
      local_4c = local_4c->_M_nxt;
    } while (local_4c != (_Hash_node_base *)0x0);
  }
  local_4c = (_Hash_node_base *)
             (this->target_symbols_).
             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;
  if (local_4c ==
      (_Hash_node_base *)
      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
      _M_impl._M_finish) {
    return;
  }
  pSVar6 = *(Sized_symbol<64> **)local_4c;
  uVar19 = (pSVar6->super_Symbol).symtab_index_;
  while (uVar19 != 0) {
    local_4c = (_Hash_node_base *)((pointer)local_4c + 1);
    if (local_48 == (uchar *)0x0) {
      uVar25 = 0xffffffff;
    }
    else {
      uVar25 = (pSVar6->super_Symbol).dynsym_index_;
      if (uVar25 == 0) {
LAB_00191b2e:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");
      }
    }
    bVar23 = (pSVar6->super_Symbol).field_0x2a & 7;
    if (bVar23 == 3) {
      shndx = 0xfff1;
    }
    else {
      if (bVar23 != 4) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");
      }
      shndx = 0;
    }
    if (uVar19 != 0xffffffff) {
      uVar19 = uVar19 - uVar2;
      if (uVar3 <= uVar19) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");
      }
      sized_write_symbol<64,_true>
                (this,pSVar6,pSVar6->value_,shndx,
                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,
                 local_7c + uVar19 * 0x18);
    }
    if (uVar25 != 0xffffffff) {
      uVar25 = uVar25 - uVar4;
      if (uVar5 <= uVar25) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");
      }
      sized_write_symbol<64,_true>
                (this,pSVar6,pSVar6->value_,shndx,
                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,
                 local_48 + uVar25 * 0x18);
    }
    if ((_Hash_node_base *)
        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
        _M_impl._M_finish == local_4c) {
      return;
    }
    pSVar6 = *(Sized_symbol<64> **)local_4c;
    uVar19 = (pSVar6->super_Symbol).symtab_index_;
  }
LAB_00191b10:
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");
}



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

void FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,
                 int param_6)

{
  code *pcVar1;
  uint uVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined **ppuVar5;
  char cVar6;
  code *pcVar7;
  uint uVar8;
  int *piVar9;
  int iVar10;
  undefined **ppuVar11;
  undefined4 uVar12;
  int in_ECX;
  byte bVar13;
  byte bVar14;
  int iVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  int iVar18;
  bool bVar19;
  undefined8 uVar20;
  int aiStackY_b4 [2];
  undefined1 auStack_9c [12];
  int *local_90;
  code *local_8c;
  undefined **ppuStack_88;
  undefined8 uStack_84;
  int local_7c;
  int local_78;
  uint local_74;
  int local_70;
  uint local_6c;
  int *local_68;
  undefined **local_64;
  code *local_60;
  undefined *local_5c;
  int local_58;
  undefined **local_54;
  uint local_50;
  int *local_4c;
  int local_48;
  int *piStack_44;
  undefined **ppuStack_40;
  code *pcStack_34;
  undefined **ppuStack_30;
  undefined1 auStack_2c [28];
  
  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
  local_64 = &__DT_PLTGOT;
  puVar17 = auStack_9c;
  local_68 = &DAT_003aa3e8;
  local_90 = *(int **)(DAT_003aa3e8 + 0xc);
  uStack_84 = uVar4;
  if (local_90 == (int *)0x0) {
LAB_00191bd3:
    ppuVar11 = local_64;
    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;
    *(undefined4 *)(puVar17 + -0xc) = 0x69;
    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;
    FUN_0007ac80();
  }
  local_70 = *(int *)(param_1 + 4);
  local_6c = *(uint *)(param_1 + 0x10);
  iVar15 = *(int *)(param_1 + 0xc);
  uVar8 = *(uint *)(param_1 + 8);
  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {
    local_7c = 0;
  }
  else {
    if ((iVar15 < 0) ||
       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),
       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),
       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))
    goto LAB_00191ca6;
    local_7c = *(int *)(param_6 + 0x10) + uVar8;
  }
  local_78 = *(int *)(param_1 + 0x1c);
  local_74 = *(uint *)(param_1 + 0x20);
  iVar15 = *(int *)(param_1 + 0x18);
  uVar8 = *(uint *)(param_1 + 0x14);
  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {
    local_48 = 0;
  }
  else {
    if ((iVar15 < 0) ||
       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),
       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),
       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {
LAB_00191ca6:
                    /* WARNING: Subroutine does not return */
      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);
    }
    local_48 = *(int *)(param_6 + 0x10) + uVar8;
  }
  local_4c = *(int **)(param_1 + 0x2c);
  puVar17 = auStack_9c;
  if (local_4c != (int *)0x0) {
    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);
    puVar17 = auStack_9c;
    do {
      iVar15 = local_4c[3];
      uVar4 = uStack_84;
      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&
           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&
          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {
        iVar18 = *(int *)(*local_68 + 8);
        if (iVar18 == 0) goto LAB_00191b7c;
        if (*(char *)(iVar18 + 0x1fd) == '\0') {
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_00191bd3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);
          if (ppuVar11 != local_64 + -0xd3ce8) {
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;
            cVar6 = (*(code *)ppuVar11)();
            uVar4 = uStack_84;
            if (cVar6 != '\0') goto LAB_00191160;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;
            iVar10 = *(int *)(iVar15 + 8);
          }
          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {
            uStack_84 = uVar4;
            if (*(int *)(iVar10 + 0x5c) == 0) {
              *(undefined4 *)(puVar17 + -4) = 0;
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;
              *(undefined4 *)(puVar17 + -0xc) = 0x3e;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;
              FUN_0007ac80();
            }
            if (*(int *)(iVar10 + 0x5c) != 1) {
              *(int *)(puVar17 + -0x10) = iVar15;
              *(undefined4 *)(puVar17 + -0x14) = 0x191966;
              FUN_00071e80();
              uVar4 = uStack_84;
            }
          }
        }
      }
LAB_00191160:
      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
      pcVar1 = *(code **)(iVar15 + 0x10);
      if (pcVar1 == (code *)0x0) goto LAB_00191b10;
      if (local_48 == 0) {
        local_60 = (code *)0xffffffff;
        pcVar7 = pcVar1;
      }
      else {
        local_60 = *(code **)(iVar15 + 0x14);
        if (local_60 == (code *)0x0) goto LAB_00191b2e;
        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);
      }
      if (pcVar7 != (code *)0xffffffff) {
        piVar9 = (int *)(iVar15 + 0x30);
        local_5c = (undefined *)*piVar9;
        local_58 = *(int *)(iVar15 + 0x34);
        uVar20 = *(undefined8 *)piVar9;
        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);
        iVar10 = *(int *)(*local_68 + 8);
        if (iVar10 == 0) goto LAB_00191b7c;
        bVar13 = *(byte *)(iVar15 + 0x2a);
        uVar8 = bVar13 & 7;
        bVar14 = (byte)uVar8;
        uStack_84 = uVar4;
        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {
          if (bVar14 == 0) {
            local_54 = *(undefined ***)(iVar15 + 0xc);
            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar14 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();
            return;
          }
          if (4 < bVar14) goto LAB_00191b4c;
          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {
          case (undefined *)0x191610:
            local_50 = 1;
            local_54 = (undefined **)0x0;
            uVar20 = *(undefined8 *)piVar9;
            break;
          case (undefined *)0x191630:
            local_50 = 1;
            local_54 = (undefined **)0xfff1;
            break;
          case (undefined *)0x191840:
            local_50 = 1;
            goto code_r0x001914e3;
          case (undefined *)0x191850:
            local_50 = 1;
            goto code_r0x00191453;
          case (undefined *)0x191c48:
code_r0x00191c48:
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;
            *(undefined4 *)(puVar17 + -0xc) = 0xaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;
            FUN_0007ac80();
          }
          goto LAB_00191288;
        }
        uVar2 = local_50;
        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {
          uVar2 = local_50;
        }
        local_50 = uVar2;
        if (4 < bVar14) {
LAB_00191b4c:
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;
          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;
          FUN_0007ac80();
        }
        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {
        case (undefined *)0x191210:
          if ((bVar13 & 7) != 0) goto code_r0x00191c48;
          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);
          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;
          bVar13 = bVar14 & 1;
          local_54 = (undefined **)uStack_84;
          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {
            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);
            *(undefined4 *)(puVar17 + -0x14) = 0x191882;
            cVar6 = FUN_00188890();
            if (cVar6 == '\0') {
              ppuStack_88 = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -4) = 0x1918f0;
              FUN_00189b80();
              uStack_84._0_4_ = (undefined **)pcStack_34;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;
              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;
              uVar12 = gettext();
              *(undefined ***)(puVar17 + -8) = ppuStack_88;
              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -0x10) = uVar12;
              *(undefined4 *)(puVar17 + -0x14) = 0x191921;
              FUN_00071a80();
              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
              uVar20 = CONCAT44(local_58,local_5c);
              if (pcStack_34 != (code *)auStack_2c) {
                *(code **)(puVar17 + -0x10) = pcStack_34;
                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;
                FUN_001fd020();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
              }
              break;
            }
            bVar13 = (byte)ppuStack_88;
            uVar4 = uStack_84;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {
LAB_001919e8:
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;
              *(undefined4 *)(puVar17 + -0xc) = 0xa1;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;
              FUN_0007ac80();
            }
          }
          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
          uVar20 = CONCAT44(local_58,local_5c);
          piVar9 = *(int **)(iVar15 + 8);
          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);
            pcVar7 = *(code **)(iVar10 + 0x14);
            *(undefined4 *)(puVar17 + -0x14) = 0x191672;
            iVar10 = (*pcVar7)();
            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;
            if ((byte)ppuStack_88 == '\0') {
              uVar20 = CONCAT44(local_58,local_5c);
              if ((undefined **)uStack_84 != (undefined **)0xfff1) {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;
                cVar6 = FUN_00188890();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
                if (cVar6 == '\0') goto LAB_001916bf;
              }
            }
            else {
LAB_001916bf:
              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);
              ppuStack_88 = local_64 + -0xd3a08;
              if (ppuVar11 == ppuStack_88) {
                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);
                puVar16 = puVar17;
                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;
                local_54 = (undefined **)uStack_84;
                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);
              }
              else {
                local_54 = (undefined **)uStack_84;
                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
                *(int **)(puVar17 + -0x10) = piVar9;
                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;
                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
              }
              *(undefined ***)(puVar17 + -8) = local_54;
              *(int **)(puVar17 + -0xc) = piVar9;
              *(int *)(puVar17 + -0x10) = param_1;
              *(undefined4 *)(puVar17 + -0x14) = 0x191704;
              cVar6 = FUN_00188c90();
              if (cVar6 == '\0') {
                puVar16 = puVar17;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(undefined ***)(puVar17 + -4) = local_54;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;
                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;
                  FUN_0007ac80();
                }
              }
              else {
                *(undefined ***)(puVar17 + -4) = local_54;
                *(int **)(puVar17 + -8) = piVar9;
                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);
                *(int ***)(puVar17 + -0x10) = &piStack_44;
                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;
                FUN_0007e180();
                puVar16 = puVar17 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(undefined4 *)(puVar17 + -8) = 0;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;
                  FUN_0007ac80();
                }
                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar11 == ppuStack_88) {
                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);
                  if (ppuVar11 <= ppuStack_40) {
LAB_00191d06:
                    ppuVar5 = local_64;
                    *(undefined ***)(puVar16 + -4) = ppuVar11;
                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;
                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;
                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;
                    FUN_0007ac80();
                  }
                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);
                }
                else {
                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;
                  *(int **)(puVar17 + -0x14) = piStack_44;
                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;
                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
                }
                puVar16 = puVar17 + -4;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(int *)(puVar17 + -8) = iVar15;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;
                  FUN_0007ac80();
                }
              }
              puVar17 = puVar16;
              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);
              if (ppuVar11 == local_64 + -0xc8ef8) {
                local_54 = (undefined **)((undefined **)uStack_84)[0x18];
                if (local_54 == (undefined **)0xffffffff) {
LAB_00191d3b:
                  ppuVar11 = local_64;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;
                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;
                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;
                  FUN_0007ac80();
                }
              }
              else {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;
                local_54 = (undefined **)(*(code *)ppuVar11)();
              }
              if ((undefined **)0xfeff < local_54) {
                if (pcVar1 != (code *)0xffffffff) {
                  ppuStack_30 = local_54;
                  *(code ***)(puVar17 + -0xc) = &pcStack_34;
                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;
                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;
                  pcStack_34 = pcVar1;
                  FUN_000910c0();
                }
                if (local_60 == (code *)0xffffffff) {
                  local_54 = (undefined **)0xffff;
                }
                else {
                  pcStack_34 = local_60;
                  ppuStack_30 = local_54;
                  *(code ***)(puVar17 + -0xc) = &pcStack_34;
                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;
                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;
                  FUN_000910c0();
                  local_54 = (undefined **)0xffff;
                }
              }
              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
              uVar20 = CONCAT44(local_58,local_5c);
              uVar3 = CONCAT44(local_58,local_5c);
              if (*(int *)(*local_68 + 8) == 0) {
LAB_00191b7c:
                ppuVar11 = local_64;
                uStack_84 = uVar4;
                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;
                *(undefined4 *)(puVar17 + -0xc) = 0x5c;
                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;
                FUN_0007ac80();
              }
              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {
LAB_00191c88:
                  ppuVar11 = local_64;
                  uStack_84 = uVar4;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;
                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;
                  FUN_0007ac80();
                }
                bVar19 = local_5c < ((undefined **)uStack_84)[1];
                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];
                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;
                uVar20 = uVar3;
              }
            }
          }
          else {
            uStack_84 = uVar4;
            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {
              iVar10 = *local_90;
              *(int *)(puVar17 + -0xc) = iVar15;
              *(int **)(puVar17 + -0x10) = local_90;
              pcVar7 = *(code **)(iVar10 + 0x14);
              *(undefined4 *)(puVar17 + -0x14) = 0x191265;
              uVar20 = (*pcVar7)();
            }
            local_54 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x191450:
          bVar14 = bVar13 & 7;
code_r0x00191453:
          if (bVar14 != 2) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;
            *(undefined4 *)(puVar17 + -0xc) = 200;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;
            FUN_0007ac80();
          }
          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);
          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;
          piVar9 = (int *)FUN_00104a70();
          uVar20 = CONCAT44(local_58,local_5c);
          uVar4 = uStack_84;
          if (piVar9 == (int *)0x0) goto code_r0x001914c8;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);
          if (ppuVar11 == local_64 + -0xc8ef8) {
            local_54 = (undefined **)piVar9[0x18];
            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;
          }
          else {
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;
            local_54 = (undefined **)(*(code *)ppuVar11)();
            uVar20 = CONCAT44(local_58,local_5c);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1914b0:
LAB_001914b0:
          local_54 = (undefined **)0x0;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1914c8:
code_r0x001914c8:
          local_54 = (undefined **)0xfff1;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1914e0:
          bVar14 = bVar13 & 7;
code_r0x001914e3:
          if (bVar14 != 1) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;
            *(undefined4 *)(puVar17 + -0xc) = 0xb5;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;
            FUN_0007ac80();
          }
          piVar9 = *(int **)(iVar15 + 8);
          iVar10 = *piVar9;
          *(int **)(puVar17 + -0x10) = piVar9;
          pcVar7 = *(code **)(iVar10 + 0x2c);
          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;
          local_54 = (undefined **)(*pcVar7)();
          uVar4 = uStack_84;
          if ((undefined **)0xfeff < local_54) {
            if (pcVar1 != (code *)0xffffffff) {
              *(code ***)(puVar17 + -0xc) = &pcStack_34;
              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;
              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;
              pcStack_34 = pcVar1;
              ppuStack_30 = local_54;
              FUN_000910c0();
              uVar4 = uStack_84;
            }
            if (local_60 == (code *)0xffffffff) {
              local_54 = (undefined **)0xffff;
            }
            else {
              pcStack_34 = local_60;
              ppuStack_30 = local_54;
              *(code ***)(puVar17 + -0xc) = &pcStack_34;
              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;
              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;
              uStack_84 = uVar4;
              FUN_000910c0();
              local_54 = (undefined **)0xffff;
              uVar4 = uStack_84;
            }
          }
          uVar20 = CONCAT44(local_58,local_5c);
          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;
          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            pcVar7 = *(code **)(iVar10 + 0x24);
            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;
            uStack_84 = uVar4;
            iVar10 = (*pcVar7)();
            uVar20 = CONCAT44(local_58,local_5c);
            if (iVar10 == 0) {
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
              *(undefined4 *)(puVar17 + -0xc) = 0xc81;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;
              FUN_0007ac80();
            }
            uVar4 = uStack_84;
            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;
            bVar19 = local_5c < *(undefined **)(iVar10 + 4);
            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);
            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;
          }
        }
LAB_00191288:
        uStack_84 = uVar20;
        if (pcVar1 != (code *)0xffffffff) {
          if (local_6c <= (uint)((int)pcVar1 - local_70)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
            *(undefined4 *)(puVar17 + -0xc) = 0xca1;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;
            uStack_84 = uVar4;
            FUN_0007ac80();
          }
          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;
          *(undefined4 *)(puVar17 + -8) = param_2;
          *(uint *)(puVar17 + -0xc) = local_50;
          *(undefined ***)(puVar17 + -0x10) = local_54;
          *(int *)(puVar17 + -0x14) = local_58;
          *(undefined **)(puVar17 + -0x18) = local_5c;
          *(int *)(puVar17 + -0x1c) = iVar15;
          *(int *)(puVar17 + -0x20) = param_1;
          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;
          FUN_0018e700();
          uVar4 = uStack_84;
        }
        if (local_60 != (code *)0xffffffff) {
          if (local_74 <= (uint)((int)local_60 - local_78)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;
            uStack_84 = uVar4;
            FUN_0007ac80();
          }
          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;
          *(int *)(puVar17 + -4) = iVar10;
          *(undefined4 *)(puVar17 + -8) = param_3;
          *(uint *)(puVar17 + -0xc) = local_50;
          *(undefined ***)(puVar17 + -0x10) = local_54;
          *(undefined8 *)(puVar17 + -0x18) = uStack_84;
          *(int *)(puVar17 + -0x1c) = iVar15;
          *(int *)(puVar17 + -0x20) = param_1;
          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;
          uStack_84 = uVar4;
          FUN_0018e700();
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_00191bd3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);
          uVar4 = uStack_84;
          if (ppuVar11 != local_64 + -0xd3cc4) {
            *(int *)(puVar17 + -8) = iVar10;
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x191658;
            (*(code *)ppuVar11)();
            uVar4 = uStack_84;
          }
        }
      }
      local_4c = (int *)*local_4c;
      uStack_84 = uVar4;
    } while (local_4c != (int *)0x0);
  }
  piVar9 = *(int **)(param_1 + 0x160);
  if (piVar9 == *(int **)(param_1 + 0x164)) {
    return;
  }
  iVar15 = *piVar9;
  iVar10 = *(int *)(iVar15 + 0x10);
  if (iVar10 != 0) {
    local_4c = piVar9 + 1;
    do {
      ppuVar11 = local_64;
      if (local_48 == 0) {
        iVar18 = -1;
      }
      else {
        iVar18 = *(int *)(iVar15 + 0x14);
        if (iVar18 == 0) {
LAB_00191b2e:
          ppuVar11 = local_64;
          uStack_84 = uVar4;
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;
          *(undefined4 *)(puVar17 + -0xc) = 0x19a;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;
          FUN_0007ac80();
        }
      }
      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;
      uStack_84 = uVar4;
      if (bVar13 == 3) {
        uVar8 = 0xfff1;
      }
      else {
        if (bVar13 != 4) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xccb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;
          FUN_0007ac80();
        }
        uVar8 = 0;
      }
      if (iVar10 != -1) {
        if (local_6c <= (uint)(iVar10 - local_70)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;
          FUN_0007ac80();
        }
        local_50 = uVar8;
        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;
        bVar13 = *(byte *)(iVar15 + 0x28);
        *(undefined4 *)(puVar17 + -8) = param_2;
        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);
        *(uint *)(puVar17 + -0x10) = uVar8;
        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);
        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);
        *(int *)(puVar17 + -0x1c) = iVar15;
        *(int *)(puVar17 + -0x20) = param_1;
        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;
        FUN_0018e700();
        uVar8 = local_50;
      }
      ppuVar11 = local_64;
      uVar4 = uStack_84;
      if (iVar18 != -1) {
        if (local_74 <= (uint)(iVar18 - local_78)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;
          FUN_0007ac80();
        }
        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;
        bVar13 = *(byte *)(iVar15 + 0x28);
        *(undefined4 *)(puVar17 + -8) = param_3;
        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);
        *(uint *)(puVar17 + -0x10) = uVar8;
        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);
        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);
        *(int *)(puVar17 + -0x1c) = iVar15;
        *(int *)(puVar17 + -0x20) = param_1;
        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;
        FUN_0018e700();
        uVar4 = uStack_84;
      }
      if (*(int **)(param_1 + 0x164) == local_4c) {
        return;
      }
      iVar15 = *local_4c;
      local_4c = local_4c + 1;
      iVar10 = *(int *)(iVar15 + 0x10);
    } while (iVar10 != 0);
  }
LAB_00191b10:
  ppuVar11 = local_64;
  uStack_84 = uVar4;
  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;
  *(undefined4 *)(puVar17 + -0xc) = 0x180;
  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;
  FUN_0007ac80();
}


CALL 0x0006206b
ADD EAX,0x218fcb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x8c
MOV dword ptr [EBP + -0x60],EAX
LEA EAX,[EAX + 0x3e8]
MOV EBX,dword ptr [EBP + 0x1c]
MOV dword ptr [EBP + -0x64],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [EBP + 0xffffff74],EAX
TEST EAX,EAX
JZ 0x00191bd3
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [ESI + 0x4]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + -0x6c],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x68],EAX
MOV EDI,dword ptr [ESI + 0xc]
MOV ESI,dword ptr [ESI + 0x8]
TEST EAX,EAX
JZ 0x00191091
MOV EDX,ESI
OR EDX,EDI
JNZ 0x0019199d
MOV dword ptr [EBP + -0x78],0x0
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [ESI + 0x1c]
MOV EAX,dword ptr [EAX + 0x20]
MOV dword ptr [EBP + -0x74],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x70],EAX
MOV EDI,dword ptr [ESI + 0x18]
MOV ESI,dword ptr [ESI + 0x14]
TEST EAX,EAX
JZ 0x001910c1
MOV EDX,ESI
OR EDX,EDI
JNZ 0x0019196e
MOV dword ptr [EBP + -0x44],0x0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x2c]
MOV dword ptr [EBP + -0x48],EAX
TEST EAX,EAX
JZ 0x0019133a
MOV EAX,dword ptr [EBP + -0x60]
MOV ESI,dword ptr [EAX + 0xfff07dd0]
ADD ESI,EAX
MOV dword ptr [EBP + 0xffffff78],ESI
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x48]
MOV ESI,dword ptr [EAX + 0xc]
TEST byte ptr [ESI + 0x2a],0x7
JNZ 0x00191160
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x00191160
MOV EDX,dword ptr [ESI + 0xc]
TEST EDX,EDX
JNZ 0x00191160
MOVZX EDX,byte ptr [ESI + 0x28]
SHR DL,0x4
CMP DL,0x2
JZ 0x00191160
MOV EDX,dword ptr [EBP + -0x64]
MOV ECX,dword ptr [EDX]
MOV EDX,dword ptr [ECX + 0x8]
TEST EDX,EDX
JZ 0x00191b7c
CMP byte ptr [EDX + 0x1fd],0x0
JNZ 0x00191160
MOV EDX,dword ptr [ECX + 0xc]
TEST EDX,EDX
JZ 0x00191bd3
MOV ECX,dword ptr [EDX]
MOV EDI,dword ptr [EBP + -0x60]
MOV ECX,dword ptr [ECX + 0x1c]
LEA EBX,[EDI + 0xffcb0c60]
CMP ECX,EBX
JNZ 0x001919cc
TEST byte ptr [EAX + 0x2c],0x20
JZ 0x00191946
LEA ESI,[ESI]
MOV EDI,dword ptr [ESI + 0x10]
TEST EDI,EDI
JZ 0x00191b10
MOV EAX,dword ptr [EBP + -0x44]
TEST EAX,EAX
JZ 0x001915b0
MOV EAX,dword ptr [ESI + 0x14]
MOV dword ptr [EBP + -0x5c],EAX
TEST EAX,EAX
JZ 0x00191b2e
AND EAX,EDI
CMP EAX,-0x1
JZ 0x0019132a
MOV EAX,dword ptr [ESI + 0x30]
MOV EDX,dword ptr [ESI + 0x34]
MOV dword ptr [EBP + -0x58],EAX
MOVZX EAX,byte ptr [ESI + 0x28]
MOV dword ptr [EBP + -0x54],EDX
SHR AL,0x4
MOVZX EBX,AL
MOV EAX,dword ptr [EBP + -0x64]
MOV dword ptr [EBP + -0x4c],EBX
MOV EAX,dword ptr [EAX]
MOV ECX,dword ptr [EAX + 0x8]
TEST ECX,ECX
JZ 0x00191b7c
MOVZX EDX,byte ptr [ESI + 0x2a]
MOV EAX,EDX
AND EAX,0x7
CMP byte ptr [ECX + 0x49b1],0x0
JZ 0x001911d3
CMP EBX,0x1
JZ 0x001915d0
MOV EBX,dword ptr [EBP + -0x4c]
CMP EBX,0xa
JNZ 0x001911ed
CMP byte ptr [ECX + 0x19a9],0x0
MOV ECX,0x1
CMOVNZ ECX,EBX
MOV dword ptr [EBP + -0x4c],ECX
CMP AL,0x4
JA 0x00191b4c
MOV ECX,dword ptr [EBP + -0x60]
MOVZX EAX,AL
MOV EBX,dword ptr [ECX + EAX*0x4 + 0xfff07dbc]
ADD EBX,ECX
JMP EBX
MOV EAX,dword ptr [EBP + -0x48]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x48],EAX
TEST EAX,EAX
JNZ 0x001910f0
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EAX + 0x160]
CMP EDI,dword ptr [EAX + 0x164]
JZ 0x001918c0
MOV EBX,dword ptr [EDI]
MOV EAX,dword ptr [EBX + 0x10]
TEST EAX,EAX
JZ 0x00191b10
ADD EDI,0x4
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x48],EDI
JMP 0x00191414
MOV EDX,0xfff1
CMP EAX,-0x1
JZ 0x001913b5
SUB EAX,dword ptr [EBP + -0x6c]
CMP dword ptr [EBP + -0x68],EAX
JBE 0x00191bb5
MOV ECX,dword ptr [EBP + -0x78]
LEA EAX,[EAX + EAX*0x2]
MOV dword ptr [EBP + -0x4c],EDX
LEA EAX,[ECX + EAX*0x8]
PUSH EAX
MOVZX EAX,byte ptr [EBX + 0x28]
PUSH dword ptr [EBP + 0xc]
SHR AL,0x4
MOVZX EAX,AL
PUSH EAX
PUSH EDX
PUSH dword ptr [EBX + 0x34]
PUSH dword ptr [EBX + 0x30]
PUSH EBX
PUSH ESI
CALL 0x0018e700
MOV EDX,dword ptr [EBP + -0x4c]
ADD ESP,0x20
CMP EDI,-0x1
JZ 0x001913ef
SUB EDI,dword ptr [EBP + -0x74]
CMP dword ptr [EBP + -0x70],EDI
JBE 0x00191c2a
LEA EAX,[EDI + EDI*0x2]
MOV EDI,dword ptr [EBP + -0x44]
LEA EAX,[EDI + EAX*0x8]
PUSH EAX
MOVZX EAX,byte ptr [EBX + 0x28]
PUSH dword ptr [EBP + 0x10]
SHR AL,0x4
MOVZX EAX,AL
PUSH EAX
PUSH EDX
PUSH dword ptr [EBX + 0x34]
PUSH dword ptr [EBX + 0x30]
PUSH EBX
PUSH ESI
CALL 0x0018e700
ADD ESP,0x20
MOV EAX,dword ptr [EBP + -0x48]
CMP dword ptr [ESI + 0x164],EAX
JZ 0x001918c0
MOV EDI,dword ptr [EBP + -0x48]
MOV EBX,dword ptr [EDI]
ADD EDI,0x4
MOV dword ptr [EBP + -0x48],EDI
MOV EAX,dword ptr [EBX + 0x10]
TEST EAX,EAX
JZ 0x00191b10
MOV EDX,dword ptr [EBP + -0x44]
TEST EDX,EDX
JZ 0x001915c0
MOV EDI,dword ptr [EBX + 0x14]
TEST EDI,EDI
JZ 0x00191b2e
MOVZX EDX,byte ptr [EBX + 0x2a]
AND EDX,0x7
CMP DL,0x3
JZ 0x00191370
CMP DL,0x4
JNZ 0x00191b97
XOR EDX,EDX
JMP 0x00191375
MOV EAX,EDI
MOV dword ptr [EBP + -0x5c],0xffffffff
JMP 0x00191186
MOV EDI,0xffffffff
JMP 0x0019142a
MOV EDX,EAX
TEST AL,AL
JNZ 0x001917f0
MOVZX EAX,byte ptr [ESI + 0x2b]
MOV ECX,dword ptr [ESI + 0xc]
MOV EDX,EAX
MOV dword ptr [EBP + -0x50],ECX
SHR DL,0x5
AND EDX,0x1
TEST ECX,ECX
JNZ 0x001915f8
TEST DL,DL
JNZ 0x001918d0
MOV EAX,dword ptr [EBP + 0xffffff78]
JMP EAX
CMP AL,0x4
JNZ 0x00191820
MOV EAX,dword ptr [EBP + -0x60]
ADD EAX,dword ptr [EAX + 0xfff07df4]
JMP EAX
JA 0x00191b4c
MOV EBX,dword ptr [EBP + -0x60]
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff07df8]
ADD ECX,EBX
JMP ECX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [EBP + -0x60]
ADD EDX,dword ptr [EDX + 0xfff07e0c]
JMP EDX
MOV EAX,dword ptr [EAX + 0x5c]
TEST EAX,EAX
JZ 0x00191d22
CMP EAX,0x1
JZ 0x00191160
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH ESI
CALL 0x00071e80
ADD ESP,0x10
JMP 0x00191160
TEST EDI,EDI
JS 0x00191ca6
LEA EAX,[EAX + EAX*0x2]
XOR EDX,EDX
MOV ECX,dword ptr [EBX + 0xc]
SHL EAX,0x3
ADD EAX,ESI
ADC EDX,EDI
CMP dword ptr [EBX + 0x8],EAX
SBB ECX,EDX
JL 0x00191ca6
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x44],EAX
JMP 0x001910c8
TEST EDI,EDI
JS 0x00191ca6
LEA EAX,[EAX + EAX*0x2]
XOR EDX,EDX
MOV ECX,dword ptr [EBX + 0xc]
SHL EAX,0x3
ADD EAX,ESI
ADC EDX,EDI
CMP dword ptr [EBX + 0x8],EAX
SBB ECX,EDX
JL 0x00191ca6
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x78],EAX
JMP 0x00191098
SUB ESP,0x8
PUSH ESI
PUSH EDX
CALL ECX
ADD ESP,0x10
TEST AL,AL
JNZ 0x00191160
TEST byte ptr [ESI + 0x2a],0x7
JZ 0x00191cdb
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff08688]
PUSH EAX
LEA EAX,[EBX + 0xffef144a]
PUSH 0xa1
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff081f4]
PUSH EAX
LEA EAX,[EBX + 0xffef144a]
PUSH 0x180
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff0831c]
PUSH EAX
LEA EAX,[EBX + 0xffef144a]
PUSH 0x19a
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff0817c]
PUSH EAX
LEA EAX,[EBX + 0xfff07ab1]
PUSH 0xc9b
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff086c8]
PUSH EAX
LEA EAX,[EBX + 0xffeec26d]
PUSH 0x5c
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff0817c]
PUSH EAX
LEA EAX,[EBX + 0xfff07ab1]
PUSH 0xccb
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff0817c]
PUSH EAX
LEA EAX,[EBX + 0xfff07ab1]
PUSH 0xcd1
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff08690]
PUSH EAX
LEA EAX,[EBX + 0xffeec26d]
PUSH 0x69
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff0817c]
PUSH EAX
LEA EAX,[EBX + 0xfff07ab1]
PUSH 0xcdb
PUSH EAX
CALL 0x0007ac80
MOV EBX,dword ptr [EBP + -0x60]
PUSH ECX
LEA EAX,[EBX + 0xfff08230]
PUSH EAX
LEA EAX,[EBX + 0xffef1371]
PUSH 0x6f
PUSH EAX
CALL 0x0007ac80
MOV EAX,dword ptr [ESI + 0x8]
JMP 0x00191152
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
LEA EAX,[EBX + 0xfff08214]
PUSH EAX
LEA EAX,[EBX + 0xffef5f4b]
PUSH 0x3e
PUSH EAX
CALL 0x0007ac80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}\n\n" comment (function_definition "void FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" primitive_type (function_declarator "FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int in_ECX;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int aiStackY_b4 [2];" primitive_type (array_declarator "aiStackY_b4 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_9c [12];" type_identifier (array_declarator "auStack_9c [12]" identifier [ number_literal ]) ;) (declaration "int *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined **ppuStack_88;" type_identifier (pointer_declarator "**ppuStack_88" * (pointer_declarator "*ppuStack_88" * identifier)) ;) (declaration "undefined8 uStack_84;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "code *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined **local_54;" type_identifier (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int *piStack_44;" primitive_type (pointer_declarator "*piStack_44" * identifier) ;) (declaration "undefined **ppuStack_40;" type_identifier (pointer_declarator "**ppuStack_40" * (pointer_declarator "*ppuStack_40" * identifier)) ;) (declaration "code *pcStack_34;" type_identifier (pointer_declarator "*pcStack_34" * identifier) ;) (declaration "undefined **ppuStack_30;" type_identifier (pointer_declarator "**ppuStack_30" * (pointer_declarator "*ppuStack_30" * identifier)) ;) (declaration "undefined1 auStack_2c [28];" type_identifier (array_declarator "auStack_2c [28]" identifier [ number_literal ]) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "local_64 = &__DT_PLTGOT;" (assignment_expression "local_64 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (expression_statement "local_68 = &DAT_003aa3e8;" (assignment_expression "local_68 = &DAT_003aa3e8" identifier = (pointer_expression "&DAT_003aa3e8" & identifier)) ;) (expression_statement "local_90 = *(int **)(DAT_003aa3e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_003aa3e8 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_003aa3e8 + 0xc)" * (cast_expression "(int **)(DAT_003aa3e8 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_003aa3e8 + 0xc)" ( (binary_expression "DAT_003aa3e8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" if (parenthesized_expression "(local_90 == (int *)0x0)" ( (binary_expression "local_90 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" { (labeled_statement "LAB_00191bd3:\n    ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de5c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191bee" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_70 = *(int *)(param_1 + 4);" (assignment_expression "local_70 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(uint *)(param_1 + 0x10);" (assignment_expression "local_6c = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar15 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" if (parenthesized_expression "((local_6c == 0) || (uVar8 == 0 && iVar15 == 0))" ( (binary_expression "(local_6c == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" ( (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" identifier == number_literal) && (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_7c = 0;\n  }" { (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" else (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" { (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;" if (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" ( (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" identifier = (binary_expression "iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" identifier + (cast_expression "(uint)CARRY4(local_6c * 0x18,uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_6c * 0x18,uVar8)" identifier (argument_list "(local_6c * 0x18,uVar8)" ( (binary_expression "local_6c * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" ( (binary_expression "*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" * (cast_expression "(uint *)(param_6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) < (binary_expression "local_6c * 0x18 + uVar8" (binary_expression "local_6c * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" identifier = (binary_expression "iVar10 - uVar2" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar15)" ( (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar10,uVar2)" identifier (argument_list "(iVar10,uVar2)" ( identifier , identifier )))) )) != (binary_expression "in_ECX < 0" identifier < number_literal)))))) ))) )) (goto_statement "goto LAB_00191ca6;" goto statement_identifier ;)) (expression_statement "local_7c = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_7c = *(int *)(param_6 + 0x10) + uVar8" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" * (cast_expression "(int *)(param_6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) + identifier)) ;) }))) (expression_statement "local_78 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_78 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_74 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_74 = *(uint *)(param_1 + 0x20)" identifier = (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar15 = *(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) ))))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" if (parenthesized_expression "((local_74 == 0) || (uVar8 == 0 && iVar15 == 0))" ( (binary_expression "(local_74 == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" ( (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" identifier == number_literal) && (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_48 = 0;\n  }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" else (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" { (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" if (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" ( (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" identifier = (binary_expression "iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" identifier + (cast_expression "(uint)CARRY4(local_74 * 0x18,uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_74 * 0x18,uVar8)" identifier (argument_list "(local_74 * 0x18,uVar8)" ( (binary_expression "local_74 * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" ( (binary_expression "*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" * (cast_expression "(uint *)(param_6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) < (binary_expression "local_74 * 0x18 + uVar8" (binary_expression "local_74 * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" identifier = (binary_expression "iVar10 - uVar2" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar15)" ( (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar10,uVar2)" identifier (argument_list "(iVar10,uVar2)" ( identifier , identifier )))) )) != (binary_expression "in_ECX < 0" identifier < number_literal)))))) ))) )) (compound_statement "{\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" statement_identifier : comment (expression_statement "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",in_ECX)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;)) })) (expression_statement "local_48 = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_48 = *(int *)(param_6 + 0x10) + uVar8" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" * (cast_expression "(int *)(param_6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) + identifier)) ;) }))) (expression_statement "local_4c = *(int **)(param_1 + 0x2c);" (assignment_expression "local_4c = *(int **)(param_1 + 0x2c)" identifier = (pointer_expression "*(int **)(param_1 + 0x2c)" * (cast_expression "(int **)(param_1 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (if_statement "if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" if (parenthesized_expression "(local_4c != (int *)0x0)" ( (binary_expression "local_4c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" { (expression_statement "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_002b1dd0)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_002b1dd0" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + identifier) )))) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (do_statement "do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);" do (compound_statement "{\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    }" { (expression_statement "iVar15 = local_4c[3];" (assignment_expression "iVar15 = local_4c[3]" identifier = (subscript_expression "local_4c[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2))" ( (binary_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0))" ( (binary_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" ( (comma_expression "iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) , (binary_expression "(*(byte *)(iVar10 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 1)" ( (binary_expression "*(byte *)(iVar10 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x2c)" * (cast_expression "(byte *)(iVar10 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar15 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar15 + 0xc) == 0" (pointer_expression "*(int *)(iVar15 + 0xc)" * (cast_expression "(int *)(iVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(byte *)(iVar15 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar15 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" { (expression_statement "iVar18 = *(int *)(*local_68 + 8);" (assignment_expression "iVar18 = *(int *)(*local_68 + 8)" identifier = (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) goto LAB_00191b7c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(iVar18 + 0x1fd) == '\0')" ( (binary_expression "*(char *)(iVar18 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar18 + 0x1fd)" * (cast_expression "(char *)(iVar18 + 0x1fd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1fd)" ( (binary_expression "iVar18 + 0x1fd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" { (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" identifier = (pointer_expression "*(int **)(*local_68 + 0xc)" * (cast_expression "(int **)(*local_68 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 0xc)" ( (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x1c)" * (cast_expression "(undefined ***)(*piVar9 + 0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x1c)" ( (binary_expression "*piVar9 + 0x1c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xd3ce8)" ( (binary_expression "ppuVar11 != local_64 + -0xd3ce8" identifier != (binary_expression "local_64 + -0xd3ce8" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" { (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = (*(code *)ppuVar11)();" (assignment_expression "cVar6 = (*(code *)ppuVar11)()" identifier = (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (cVar6 != '\0') goto LAB_00191160;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00191160;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001919e8;" goto statement_identifier ;)) (expression_statement "iVar10 = *(int *)(iVar15 + 8);" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" if (parenthesized_expression "((*(byte *)(iVar10 + 0x2c) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 0x20)" ( (binary_expression "*(byte *)(iVar10 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar10 + 0x2c)" * (cast_expression "(byte *)(iVar10 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" { (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "(*(int *)(iVar10 + 0x5c) == 0)" ( (binary_expression "*(int *)(iVar10 + 0x5c) == 0" (pointer_expression "*(int *)(iVar10 + 0x5c)" * (cast_expression "(int *)(iVar10 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df7b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x3e" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10a0b5" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d3b" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(*(int *)(iVar10 + 0x5c) != 1)" ( (binary_expression "*(int *)(iVar10 + 0x5c) != 1" (pointer_expression "*(int *)(iVar10 + 0x5c)" * (cast_expression "(int *)(iVar10 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" { (expression_statement "*(int *)(puVar17 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191966;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191966" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00071e80();" (call_expression "FUN_00071e80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) })) (labeled_statement "LAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" statement_identifier : (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcVar1 = *(code **)(iVar15 + 0x10);" (assignment_expression "pcVar1 = *(code **)(iVar15 + 0x10)" identifier = (pointer_expression "*(code **)(iVar15 + 0x10)" * (cast_expression "(code **)(iVar15 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (pcVar1 == (code *)0x0) goto LAB_00191b10;" if (parenthesized_expression "(pcVar1 == (code *)0x0)" ( (binary_expression "pcVar1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b10;" goto statement_identifier ;)) (if_statement "if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }" { (expression_statement "local_60 = (code *)0xffffffff;" (assignment_expression "local_60 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = pcVar1;" (assignment_expression "pcVar7 = pcVar1" identifier = identifier) ;) }) (else_clause "else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" else (compound_statement "{\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" { (expression_statement "local_60 = *(code **)(iVar15 + 0x14);" (assignment_expression "local_60 = *(code **)(iVar15 + 0x14)" identifier = (pointer_expression "*(code **)(iVar15 + 0x14)" * (cast_expression "(code **)(iVar15 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_60 == (code *)0x0) goto LAB_00191b2e;" if (parenthesized_expression "(local_60 == (code *)0x0)" ( (binary_expression "local_60 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b2e;" goto statement_identifier ;)) (expression_statement "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);" (assignment_expression "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1)" identifier = (cast_expression "(code *)((uint)local_60 & (uint)pcVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_60 & (uint)pcVar1)" ( (binary_expression "(uint)local_60 & (uint)pcVar1" (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)pcVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" if (parenthesized_expression "(pcVar7 != (code *)0xffffffff)" ( (binary_expression "pcVar7 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" { (expression_statement "piVar9 = (int *)(iVar15 + 0x30);" (assignment_expression "piVar9 = (int *)(iVar15 + 0x30)" identifier = (cast_expression "(int *)(iVar15 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) )))) ;) (expression_statement "local_5c = (undefined *)*piVar9;" (assignment_expression "local_5c = (undefined *)*piVar9" identifier = (cast_expression "(undefined *)*piVar9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "local_58 = *(int *)(iVar15 + 0x34);" (assignment_expression "local_58 = *(int *)(iVar15 + 0x34)" identifier = (pointer_expression "*(int *)(iVar15 + 0x34)" * (cast_expression "(int *)(iVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" identifier = (pointer_expression "*(undefined8 *)piVar9" * (cast_expression "(undefined8 *)piVar9" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4)" identifier = (call_expression "(uint)(*(byte *)(iVar15 + 0x28) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(iVar15 + 0x28) >> 4)" ( (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "iVar10 = *(int *)(*local_68 + 8);" (assignment_expression "iVar10 = *(int *)(*local_68 + 8)" identifier = (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_00191b7c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = bVar13 & 7;" (assignment_expression "uVar8 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (expression_statement "bVar14 = (byte)uVar8;" (assignment_expression "bVar14 = (byte)uVar8" identifier = (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" if (parenthesized_expression "((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1))" ( (binary_expression "(*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar10 + 0x49b1) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x49b1)" * (cast_expression "(char *)(iVar10 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x49b1)" ( (binary_expression "iVar10 + 0x49b1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_50 == 1)" ( (binary_expression "local_50 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" { (if_statement "if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }" { (expression_statement "local_54 = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "local_54 = *(undefined ***)(iVar15 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar15 + 0xc)" * (cast_expression "(undefined ***)(iVar15 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" if (parenthesized_expression "((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0))" ( (binary_expression "(local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_54 == (undefined **)0x0)" ( (binary_expression "local_54 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1)" ( (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e07d])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e07d])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e07d])" ( (binary_expression "(int)local_64 + (int)local_64[-0x3e07d]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x3e07d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x3e07d]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "(*local_8c)();" (call_expression "(*local_8c)()" (parenthesized_expression "(*local_8c)" ( (pointer_expression "*local_8c" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar14 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e083])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e083])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e083])" ( (binary_expression "(int)local_64 + (int)local_64[-0x3e083]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x3e083]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x3e083]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar14) goto LAB_00191b4c;" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (goto_statement "goto LAB_00191b4c;" goto statement_identifier ;)) (switch_statement "switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" switch (parenthesized_expression "(local_64[uVar8 - 0x3e082] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x3e082] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e082]" identifier [ (binary_expression "uVar8 - 0x3e082" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" { (case_statement "case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" case (cast_expression "(undefined *)0x191610" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" identifier = (pointer_expression "*(undefined8 *)piVar9" * (cast_expression "(undefined8 *)piVar9" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x191630" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;" case (cast_expression "(undefined *)0x191840" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x001914e3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;" case (cast_expression "(undefined *)0x191850" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x00191453;" goto statement_identifier ;)) (case_statement "case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();" case (cast_expression "(undefined *)0x191c48" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de56" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191c66" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_00191288;" goto statement_identifier ;) })) (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" identifier = identifier) ;) (if_statement "if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }" if (parenthesized_expression "((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'))" ( (binary_expression "(local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) && (parenthesized_expression "(uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" ( (comma_expression "uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'" (assignment_expression "uVar2 = 1" identifier = number_literal) , (binary_expression "*(char *)(iVar10 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x19a9)" * (cast_expression "(char *)(iVar10 + 0x19a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x19a9)" ( (binary_expression "iVar10 + 0x19a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar2 = local_50;\n        }" { (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar2;" (assignment_expression "local_50 = uVar2" identifier = identifier) ;) (if_statement "if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (compound_statement "{\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" { (labeled_statement "LAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc9b" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191b6a" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" switch (parenthesized_expression "(local_64[uVar8 - 0x3e091] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x3e091] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e091]" identifier [ (binary_expression "uVar8 - 0x3e091" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" { (case_statement "case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x191210" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar13 & 7) != 0) goto code_r0x00191c48;" if (parenthesized_expression "((bVar13 & 7) != 0)" ( (binary_expression "(bVar13 & 7) != 0" (parenthesized_expression "(bVar13 & 7)" ( (binary_expression "bVar13 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x00191c48;" goto statement_identifier ;)) (expression_statement "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar15 + 0xc)" * (cast_expression "(undefined ***)(iVar15 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;" (assignment_expression "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5" identifier = (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar13 = bVar14 & 1;" (assignment_expression "bVar13 = bVar14 & 1" identifier = (binary_expression "bVar14 & 1" identifier & number_literal)) ;) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" if (parenthesized_expression "(((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1))" ( (binary_expression "((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)" (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" ( (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(bVar13 != 1)" ( (binary_expression "bVar13 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);" (assignment_expression "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" identifier = (cast_expression "(undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" ( (binary_expression "CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01" (call_expression "CONCAT31(ppuStack_88._1_3_,bVar14)" identifier (argument_list "(ppuStack_88._1_3_,bVar14)" ( (field_expression "ppuStack_88._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191882;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191882" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" identifier = (call_expression "FUN_00188890()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" { (expression_statement "ppuStack_88 = (undefined **)uStack_84;" (assignment_expression "ppuStack_88 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1918f0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1918f0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00189b80();" (call_expression "FUN_00189b80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uStack_84._0_4_ = (undefined **)pcStack_34;" (assignment_expression "uStack_84._0_4_ = (undefined **)pcStack_34" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)pcStack_34" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3e0e5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19190a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19190a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = gettext();" (assignment_expression "uVar12 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = ppuStack_88;" (assignment_expression "*(undefined ***)(puVar17 + -8) = ppuStack_88" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191921;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191921" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00071a80();" (call_expression "FUN_00071a80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" if (parenthesized_expression "(pcStack_34 != (code *)auStack_2c)" ( (binary_expression "pcStack_34 != (code *)auStack_2c" identifier != (cast_expression "(code *)auStack_2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" { (expression_statement "*(code **)(puVar17 + -0x10) = pcStack_34;" (assignment_expression "*(code **)(puVar17 + -0x10) = pcStack_34" (pointer_expression "*(code **)(puVar17 + -0x10)" * (cast_expression "(code **)(puVar17 + -0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19193e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19193e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001fd020();" (call_expression "FUN_001fd020()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "bVar13 = (byte)ppuStack_88;" (assignment_expression "bVar13 = (byte)ppuStack_88" identifier = (cast_expression "(byte)ppuStack_88" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" { (labeled_statement "LAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de5e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xa1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191a06" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" identifier = (pointer_expression "*(int **)(iVar15 + 8)" * (cast_expression "(int **)(iVar15 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "((*(byte *)(piVar9 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar9 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar9 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar9 + 0xb) & 1" (pointer_expression "*(byte *)(piVar9 + 0xb)" * (cast_expression "(byte *)(piVar9 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0xb)" ( (binary_expression "piVar9 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }" { (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);" (assignment_expression "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" identifier = (cast_expression "(undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(ppuStack_88._1_3_,bVar13)" identifier (argument_list "(ppuStack_88._1_3_,bVar13)" ( (field_expression "ppuStack_88._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" identifier = (pointer_expression "*(code **)(iVar10 + 0x14)" * (cast_expression "(code **)(iVar10 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191672;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191672" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (if_statement "if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;" if (parenthesized_expression "(((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0))" ( (binary_expression "((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)" (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001914b0;" goto statement_identifier ;)) (if_statement "if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" if (parenthesized_expression "((byte)ppuStack_88 == '\0')" ( (binary_expression "(byte)ppuStack_88 == '\0'" (cast_expression "(byte)ppuStack_88" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }" { (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" if (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" ( (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" identifier = (call_expression "FUN_00188890()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_001916bf;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001916bf;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" else (compound_statement "{\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" { (labeled_statement "LAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" statement_identifier : (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x60)" * (cast_expression "(undefined ***)(*piVar9 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x60)" ( (binary_expression "*piVar9 + 0x60" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;)) (expression_statement "ppuStack_88 = local_64 + -0xd3a08;" (assignment_expression "ppuStack_88 = local_64 + -0xd3a08" identifier = (binary_expression "local_64 + -0xd3a08" identifier + number_literal)) ;) (if_statement "if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == ppuStack_88)" ( (binary_expression "ppuVar11 == ppuStack_88" identifier == identifier) )) (compound_statement "{\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }" { (expression_statement "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" identifier = (cast_expression "(undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar9[0xf] - piVar9[0xe] >> 2)" ( (binary_expression "piVar9[0xf] - piVar9[0xe] >> 2" (binary_expression "piVar9[0xf] - piVar9[0xe]" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar9[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;" if (parenthesized_expression "(ppuVar11 <= (undefined **)uStack_84)" ( (binary_expression "ppuVar11 <= (undefined **)uStack_84" identifier <= (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) (goto_statement "goto LAB_00191d06;" goto statement_identifier ;)) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" * (cast_expression "(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" ( (binary_expression "piVar9[0xe] + (int)(undefined **)uStack_84 * 4" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) + (binary_expression "(int)(undefined **)uStack_84 * 4" (cast_expression "(int)(undefined **)uStack_84" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) * number_literal)) ))))) ;) }) (else_clause "else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" { (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_1" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191704;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191704" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188c90();" (assignment_expression "cVar6 = FUN_00188c90()" identifier = (call_expression "FUN_00188c90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" * (cast_expression "(undefined ***)(puVar17 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc59" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" * (cast_expression "(undefined ***)(puVar17 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -8) = piVar9;" (assignment_expression "*(int **)(puVar17 + -8) = piVar9" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" * (cast_expression "(undefined4 *)(param_1 + 0x15c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x15c)" ( (binary_expression "param_1 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(int ***)(puVar17 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar17 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar17 + -0x10)" * (cast_expression "(int ***)(puVar17 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&piStack_44" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191a33;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191a33" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007e180();" (call_expression "FUN_0007e180()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(piStack_44 == (int *)0x0)" ( (binary_expression "piStack_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00191c82" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piStack_44 + 0x60)" * (cast_expression "(undefined ***)(*piStack_44 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piStack_44 + 0x60)" ( (binary_expression "*piStack_44 + 0x60" (pointer_expression "*piStack_44" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" if (parenthesized_expression "(ppuVar11 == ppuStack_88)" ( (binary_expression "ppuVar11 == ppuStack_88" identifier == identifier) )) (compound_statement "{\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }" { (expression_statement "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" identifier = (cast_expression "(undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piStack_44[0xf] - piStack_44[0xe] >> 2)" ( (binary_expression "piStack_44[0xf] - piStack_44[0xe] >> 2" (binary_expression "piStack_44[0xf] - piStack_44[0xe]" (subscript_expression "piStack_44[0xf]" identifier [ number_literal ]) - (subscript_expression "piStack_44[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" if (parenthesized_expression "(ppuVar11 <= ppuStack_40)" ( (binary_expression "ppuVar11 <= ppuStack_40" identifier <= identifier) )) (compound_statement "{\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" { (labeled_statement "LAB_00191d06:\n                    ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -4) = ppuVar11;" (assignment_expression "*(undefined ***)(puVar16 + -4) = ppuVar11" (pointer_expression "*(undefined ***)(puVar16 + -4)" * (cast_expression "(undefined ***)(puVar16 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71" (pointer_expression "*(undefined ***)(puVar16 + -8)" * (cast_expression "(undefined ***)(puVar16 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "ppuVar5 + -0x3de71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar5 + -0x10ec7b" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x191d22;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x191d22" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" * (cast_expression "(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piStack_44[0xe] + (int)ppuStack_40 * 4)" ( (binary_expression "piStack_44[0xe] + (int)ppuStack_40 * 4" (subscript_expression "piStack_44[0xe]" identifier [ number_literal ]) + (binary_expression "(int)ppuStack_40 * 4" (cast_expression "(int)ppuStack_40" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" else (compound_statement "{\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuStack_40;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuStack_40" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar17 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x191b71;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x191b71" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(int *)(puVar17 + -8) = iVar15;" (assignment_expression "*(int *)(puVar17 + -8) = iVar15" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00191a95" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) (expression_statement "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*(undefined **)uStack_84 + 0x2c)" * (cast_expression "(undefined ***)(*(undefined **)uStack_84 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(undefined **)uStack_84 + 0x2c)" ( (binary_expression "*(undefined **)uStack_84 + 0x2c" (pointer_expression "*(undefined **)uStack_84" * (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" ( (binary_expression "ppuVar11 == local_64 + -0xc8ef8" identifier == (binary_expression "local_64 + -0xc8ef8" identifier + number_literal)) )) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "local_54 = (undefined **)((undefined **)uStack_84)[0x18];" (assignment_expression "local_54 = (undefined **)((undefined **)uStack_84)[0x18]" identifier = (cast_expression "(undefined **)((undefined **)uStack_84)[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((undefined **)uStack_84)[0x18]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) ;) (if_statement "if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" ( (binary_expression "local_54 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" { (labeled_statement "LAB_00191d3b:\n                  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x1043" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d59" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191aac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191aac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (if_statement "if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" if (parenthesized_expression "((undefined **)0xfeff < local_54)" ( (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" { (if_statement "if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" { (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19176d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19176d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" if (parenthesized_expression "(local_60 == (code *)0xffffffff)" ( (binary_expression "local_60 == (code *)0xffffffff" identifier == (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_54 = (undefined **)0xffff;\n                }" { (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" else (compound_statement "{\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" { (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191798;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191798" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar3 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" if (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" ( (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" { (labeled_statement "LAB_00191b7c:\n                ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de4e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b97;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b97" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" if (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" { (if_statement "if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(((uint)((undefined **)uStack_84)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined **)uStack_84)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined **)uStack_84)[7] & 1)" ( (binary_expression "(uint)((undefined **)uStack_84)[7] & 1" (subscript_expression "(uint)((undefined **)uStack_84)[7]" (call_expression "(uint)((undefined **)uStack_84)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" { (labeled_statement "LAB_00191c88:\n                  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df47" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar19 = local_5c < ((undefined **)uStack_84)[1];" (assignment_expression "bVar19 = local_5c < ((undefined **)uStack_84)[1]" identifier = (binary_expression "local_5c < ((undefined **)uStack_84)[1]" identifier < (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "local_5c = local_5c + -(int)((undefined **)uStack_84)[1];" (assignment_expression "local_5c = local_5c + -(int)((undefined **)uStack_84)[1]" identifier = (binary_expression "local_5c + -(int)((undefined **)uStack_84)[1]" identifier + (unary_expression "-(int)((undefined **)uStack_84)[1]" - (cast_expression "(int)((undefined **)uStack_84)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))))) ;) (expression_statement "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" identifier = (binary_expression "(local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" (parenthesized_expression "(local_58 - (int)((undefined **)uStack_84)[2])" ( (binary_expression "local_58 - (int)((undefined **)uStack_84)[2]" identifier - (cast_expression "(int)((undefined **)uStack_84)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined **)uStack_84)[2]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) )) - (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar20 = uVar3;" (assignment_expression "uVar20 = uVar3" identifier = identifier) ;) })) }))) }) (else_clause "else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" else (compound_statement "{\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" { (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) & 2)" ( (binary_expression "*(byte *)(iVar15 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" { (expression_statement "iVar10 = *local_90;" (assignment_expression "iVar10 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = local_90;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_90" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" identifier = (pointer_expression "*(code **)(iVar10 + 0x14)" * (cast_expression "(code **)(iVar10 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191265;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191265" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar20 = (*pcVar7)();" (assignment_expression "uVar20 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) })) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1)" ( (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar15 + 0x2c)" * (cast_expression "(byte *)(iVar15 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c)" ( (binary_expression "iVar15 + 0x2c" identifier + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x191450" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" statement_identifier : (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(bVar14 != 2)" ( (binary_expression "bVar14 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df53" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 200" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191aee" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 8)" * (cast_expression "(undefined4 *)(iVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019146a" & identifier)) ;) (expression_statement "piVar9 = (int *)FUN_00104a70();" (assignment_expression "piVar9 = (int *)FUN_00104a70()" identifier = (cast_expression "(int *)FUN_00104a70()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104a70()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (piVar9 == (int *)0x0) goto code_r0x001914c8;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x001914c8;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x2c)" * (cast_expression "(undefined ***)(*piVar9 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" ( (binary_expression "ppuVar11 == local_64 + -0xc8ef8" identifier == (binary_expression "local_64 + -0xc8ef8" identifier + number_literal)) )) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }" { (expression_statement "local_54 = (undefined **)piVar9[0x18];" (assignment_expression "local_54 = (undefined **)piVar9[0x18]" identifier = (cast_expression "(undefined **)piVar9[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar9[0x18]" identifier [ number_literal ]))) ;) (if_statement "if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;" if (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" ( (binary_expression "local_54 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00191d3b;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" else (compound_statement "{\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001918ae" & identifier)) ;) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1914b0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001914b0:\n          local_54 = (undefined **)0x0;" statement_identifier : (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1914c8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001914c8:\n          local_54 = (undefined **)0xfff1;" statement_identifier : (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" case (cast_expression "(undefined *)0x1914e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" statement_identifier : (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df45" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xb5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191b0e" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" identifier = (pointer_expression "*(int **)(iVar15 + 8)" * (cast_expression "(int **)(iVar15 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x2c);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar10 + 0x2c)" * (cast_expression "(code **)(iVar10 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001914f8" & identifier)) ;) (expression_statement "local_54 = (undefined **)(*pcVar7)();" (assignment_expression "local_54 = (undefined **)(*pcVar7)()" identifier = (cast_expression "(undefined **)(*pcVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" if (parenthesized_expression "((undefined **)0xfeff < local_54)" ( (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" { (if_statement "if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" { (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191523;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191523" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191523" & identifier)) ;) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(local_60 == (code *)0xffffffff)" ( (binary_expression "local_60 == (code *)0xffffffff" identifier == (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_54 = (undefined **)0xffff;\n            }" { (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" else (compound_statement "{\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" { (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019154e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) })) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;" if (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" ( (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" if (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" { (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x24);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x24)" identifier = (pointer_expression "*(code **)(iVar10 + 0x24)" * (cast_expression "(code **)(iVar10 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019157e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc81" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d06" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;" if (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar10 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x1c)" * (cast_expression "(byte *)(iVar10 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00191c88;" goto statement_identifier ;)) (expression_statement "bVar19 = local_5c < *(undefined **)(iVar10 + 4);" (assignment_expression "bVar19 = local_5c < *(undefined **)(iVar10 + 4)" identifier = (binary_expression "local_5c < *(undefined **)(iVar10 + 4)" identifier < (pointer_expression "*(undefined **)(iVar10 + 4)" * (cast_expression "(undefined **)(iVar10 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);" (assignment_expression "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4)" identifier = (binary_expression "local_5c + -(int)*(undefined **)(iVar10 + 4)" identifier + (unary_expression "-(int)*(undefined **)(iVar10 + 4)" - (cast_expression "(int)*(undefined **)(iVar10 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(iVar10 + 4)" * (cast_expression "(undefined **)(iVar10 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))))))) ;) (expression_statement "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" identifier = (binary_expression "(local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" (parenthesized_expression "(local_58 - *(int *)(iVar10 + 8))" ( (binary_expression "local_58 - *(int *)(iVar10 + 8)" identifier - (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) )) - (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) })) (labeled_statement "LAB_00191288:\n        uStack_84 = uVar20;" statement_identifier : (expression_statement "uStack_84 = uVar20;" (assignment_expression "uStack_84 = uVar20" identifier = identifier) ;)) (if_statement "if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" { (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(local_6c <= (uint)((int)pcVar1 - local_70))" ( (binary_expression "local_6c <= (uint)((int)pcVar1 - local_70)" identifier <= (call_expression "(uint)((int)pcVar1 - local_70)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pcVar1 - local_70)" ( (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_7c + ((int)pcVar1 - local_70) * 0x18" identifier + (binary_expression "((int)pcVar1 - local_70) * 0x18" (parenthesized_expression "((int)pcVar1 - local_70)" ( (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x14) = local_58;" (assignment_expression "*(int *)(puVar17 + -0x14) = local_58" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = local_5c" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" if (parenthesized_expression "(local_60 != (code *)0xffffffff)" ( (binary_expression "local_60 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" { (if_statement "if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(local_74 <= (uint)((int)local_60 - local_78))" ( (binary_expression "local_74 <= (uint)((int)local_60 - local_78)" identifier <= (call_expression "(uint)((int)local_60 - local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_60 - local_78)" ( (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191c0c" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;" (assignment_expression "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18" identifier = (binary_expression "local_48 + ((int)local_60 - local_78) * 0x18" identifier + (binary_expression "((int)local_60 - local_78) * 0x18" (parenthesized_expression "((int)local_60 - local_78)" ( (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(int *)(puVar17 + -4) = iVar10;" (assignment_expression "*(int *)(puVar17 + -4) = iVar10" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar17 + -0x18) = uStack_84;" (assignment_expression "*(undefined8 *)(puVar17 + -0x18) = uStack_84" (pointer_expression "*(undefined8 *)(puVar17 + -0x18)" * (cast_expression "(undefined8 *)(puVar17 + -0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" identifier = (pointer_expression "*(int **)(*local_68 + 0xc)" * (cast_expression "(int **)(*local_68 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 0xc)" ( (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x9c)" * (cast_expression "(undefined ***)(*piVar9 + 0x9c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x9c)" ( (binary_expression "*piVar9 + 0x9c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xd3cc4)" ( (binary_expression "ppuVar11 != local_64 + -0xd3cc4" identifier != (binary_expression "local_64 + -0xd3cc4" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" { (expression_statement "*(int *)(puVar17 + -8) = iVar10;" (assignment_expression "*(int *)(puVar17 + -8) = iVar10" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191658;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191658" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppuVar11)();" (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) (expression_statement "local_4c = (int *)*local_4c;" (assignment_expression "local_4c = (int *)*local_4c" identifier = (cast_expression "(int *)*local_4c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_4c" * identifier))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) }) while (parenthesized_expression "(local_4c != (int *)0x0)" ( (binary_expression "local_4c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "piVar9 = *(int **)(param_1 + 0x160);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x160)" identifier = (pointer_expression "*(int **)(param_1 + 0x160)" * (cast_expression "(int **)(param_1 + 0x160)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (if_statement "if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }" if (parenthesized_expression "(piVar9 == *(int **)(param_1 + 0x164))" ( (binary_expression "piVar9 == *(int **)(param_1 + 0x164)" identifier == (pointer_expression "*(int **)(param_1 + 0x164)" * (cast_expression "(int **)(param_1 + 0x164)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar15 = *piVar9;" (assignment_expression "iVar15 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" identifier = (pointer_expression "*(int *)(iVar15 + 0x10)" * (cast_expression "(int *)(iVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" { (expression_statement "local_4c = piVar9 + 1;" (assignment_expression "local_4c = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (do_statement "do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);" do (compound_statement "{\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    }" { (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar18 = -1;\n      }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) }) (else_clause "else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" else (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" { (expression_statement "iVar18 = *(int *)(iVar15 + 0x14);" (assignment_expression "iVar18 = *(int *)(iVar15 + 0x14)" identifier = (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" { (labeled_statement "LAB_00191b2e:\n          ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df39" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a) & 7;" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" if (parenthesized_expression "(bVar13 == 3)" ( (binary_expression "bVar13 == 3" identifier == number_literal) )) (compound_statement "{\n        uVar8 = 0xfff1;\n      }" { (expression_statement "uVar8 = 0xfff1;" (assignment_expression "uVar8 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" else (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" { (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(bVar13 != 4)" ( (binary_expression "bVar13 != 4" identifier != number_literal) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xccb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" if (parenthesized_expression "(iVar10 != -1)" ( (binary_expression "iVar10 != -1" identifier != number_literal) )) (compound_statement "{\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" { (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(local_6c <= (uint)(iVar10 - local_70))" ( (binary_expression "local_6c <= (uint)(iVar10 - local_70)" identifier <= (call_expression "(uint)(iVar10 - local_70)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar10 - local_70)" ( (binary_expression "iVar10 - local_70" identifier - identifier) )))) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcd1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_50 = uVar8;" (assignment_expression "local_50 = uVar8" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_7c + (iVar10 - local_70) * 0x18" identifier + (binary_expression "(iVar10 - local_70) * 0x18" (parenthesized_expression "(iVar10 - local_70)" ( (binary_expression "iVar10 - local_70" identifier - identifier) )) * number_literal))) ;) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar13 >> 4)" ( (binary_expression "bVar13 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" * (cast_expression "(undefined4 *)(iVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" * (cast_expression "(undefined4 *)(iVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913af;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913af" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = local_50;" (assignment_expression "uVar8 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (compound_statement "{\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" { (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(local_74 <= (uint)(iVar18 - local_78))" ( (binary_expression "local_74 <= (uint)(iVar18 - local_78)" identifier <= (call_expression "(uint)(iVar18 - local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 - local_78)" ( (binary_expression "iVar18 - local_78" identifier - identifier) )))) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcdb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191c48" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_48 + (iVar18 - local_78) * 0x18" identifier + (binary_expression "(iVar18 - local_78) * 0x18" (parenthesized_expression "(iVar18 - local_78)" ( (binary_expression "iVar18 - local_78" identifier - identifier) )) * number_literal))) ;) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar13 >> 4)" ( (binary_expression "bVar13 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" * (cast_expression "(undefined4 *)(iVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" * (cast_expression "(undefined4 *)(iVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }" if (parenthesized_expression "(*(int **)(param_1 + 0x164) == local_4c)" ( (binary_expression "*(int **)(param_1 + 0x164) == local_4c" (pointer_expression "*(int **)(param_1 + 0x164)" * (cast_expression "(int **)(param_1 + 0x164)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "iVar15 = *local_4c;" (assignment_expression "iVar15 = *local_4c" identifier = (pointer_expression "*local_4c" * identifier)) ;) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" identifier = (pointer_expression "*(int *)(iVar15 + 0x10)" * (cast_expression "(int *)(iVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_00191b10:\n  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df83" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "STB": Some values do not have unique names */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original name: sized_write_globals<64, true>\n   DWARF original prototype: void sized_write_globals<64,_true>(Symbol_table * this, Stringpool *\n   sympool, Stringpool * dynpool, Output_symtab_xindex * symtab_xindex, Output_symtab_xindex *\n   dynsym_xindex, Output_file * of) */\n\nvoid __thiscall\ngold::Symbol_table::sized_write_globals<64,_true>\n          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,\n          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)\n\n{\n  Target *pTVar1;\n  uint uVar2;\n  uint uVar3;\n  uint uVar4;\n  uint uVar5;\n  Sized_symbol<64> *pSVar6;\n  Target *pTVar7;\n  pointer pcVar8;\n  General_options *pGVar9;\n  _func_int_varargs *p_Var10;\n  Object *pOVar11;\n  Output_data *pOVar12;\n  pointer ppOVar13;\n  int iVar14;\n  _Alloc_hider _Var15;\n  byte bVar16;\n  Output_segment *pOVar17;\n  pointer pcVar18;\n  uint uVar19;\n  Output_section *pOVar20;\n  int iVar21;\n  char *format;\n  int iVar22;\n  byte bVar23;\n  int extraout_EDX;\n  uint shndx;\n  STB SVar24;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar25;\n  bool bVar26;\n  Output_data *local_84;\n  uchar *local_7c;\n  pointer local_60;\n  uint local_5c;\n  int local_58;\n  _func_int_varargs **local_54;\n  STB local_50;\n  _Hash_node_base *local_4c;\n  uchar *local_48;\n  int *local_44;\n  uint local_40;\n  string local_34;\n  \n  pTVar1 = parameters->target_;\n  if (pTVar1 == (Target *)0x0) {\nLAB_00191bd3:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  uVar2 = this->first_global_index_;\n  uVar3 = this->output_count_;\n  iVar22 = *(int *)((int)&this->offset_ + 4);\n  uVar4 = (uint)this->offset_;\n  if ((uVar3 == 0) || (uVar4 == 0 && iVar22 == 0)) {\n    local_7c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))\n    goto LAB_00191ca6;\n    local_7c = of->base_ + uVar4;\n  }\n  uVar4 = this->first_dynamic_global_index_;\n  uVar5 = this->dynamic_count_;\n  iVar22 = *(int *)((int)&this->dynamic_offset_ + 4);\n  uVar19 = (uint)this->dynamic_offset_;\n  if ((uVar5 == 0) || (uVar19 == 0 && iVar22 == 0)) {\n    local_48 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar19;\n  }\n  local_4c = (this->table_)._M_h._M_before_begin._M_nxt;\n  if (local_4c != (_Hash_node_base *)0x0) {\n    UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0);\n    do {\n      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;\n      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }\nLAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;\n      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }\n      if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }\n      local_4c = local_4c->_M_nxt;\n    } while (local_4c != (_Hash_node_base *)0x0);\n  }\n  local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar6 = *(Sized_symbol<64> **)local_4c;\n  uVar19 = (pSVar6->super_Symbol).symtab_index_;\n  while (uVar19 != 0) {\n    local_4c = (_Hash_node_base *)((pointer)local_4c + 1);\n    if (local_48 == (uchar *)0x0) {\n      uVar25 = 0xffffffff;\n    }\n    else {\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }\n    bVar23 = (pSVar6->super_Symbol).field_0x2a & 7;\n    if (bVar23 == 3) {\n      shndx = 0xfff1;\n    }\n    else {\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }\n    if (uVar19 != 0xffffffff) {\n      uVar19 = uVar19 - uVar2;\n      if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);\n    }\n    if (uVar25 != 0xffffffff) {\n      uVar25 = uVar25 - uVar4;\n      if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);\n    }\n    if ((_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c) {\n      return;\n    }\n    pSVar6 = *(Sized_symbol<64> **)local_4c;\n    uVar19 = (pSVar6->super_Symbol).symtab_index_;\n  }\nLAB_00191b10:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n}\n\n" comment comment comment comment comment (declaration "void __thiscall\ngold::Symbol_table::sized_write_globals<64,_true>\n          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,\n          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)\n\n{\n  Target *pTVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>\n          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,\n          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)\n\n{\n  Target" (function_declarator "_true>\n          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,\n          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)" identifier (ERROR ">" >) (parameter_list "(Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,\n          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool *sympool" type_identifier (pointer_declarator "*sympool" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) , (parameter_declaration "Output_symtab_xindex *symtab_xindex" type_identifier (pointer_declarator "*symtab_xindex" * identifier)) , (parameter_declaration "Output_symtab_xindex *dynsym_xindex" type_identifier (pointer_declarator "*dynsym_xindex" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) (pointer_declarator "*pTVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (expression_statement "Sized_symbol<64> *pSVar6;" (update_expression "Sized_symbol<64> *pSVar6" (binary_expression "Sized_symbol<64> *pSVar6" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*pSVar6" * identifier)) --) ;) (declaration "Target *pTVar7;" type_identifier (pointer_declarator "*pTVar7" * identifier) ;) (declaration "pointer pcVar8;" type_identifier identifier ;) (declaration "General_options *pGVar9;" type_identifier (pointer_declarator "*pGVar9" * identifier) ;) (declaration "_func_int_varargs *p_Var10;" type_identifier (pointer_declarator "*p_Var10" * identifier) ;) (declaration "Object *pOVar11;" type_identifier (pointer_declarator "*pOVar11" * identifier) ;) (declaration "Output_data *pOVar12;" type_identifier (pointer_declarator "*pOVar12" * identifier) ;) (declaration "pointer ppOVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "_Alloc_hider _Var15;" type_identifier identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "Output_segment *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "pointer pcVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "Output_section *pOVar20;" type_identifier (pointer_declarator "*pOVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "uint shndx;" type_identifier identifier ;) (declaration "STB SVar24;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "Output_data *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "uchar *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "pointer local_60;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "_func_int_varargs **local_54;" type_identifier (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)) ;) (declaration "STB local_50;" type_identifier identifier ;) (declaration "_Hash_node_base *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "uchar *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "string local_34;" type_identifier identifier ;) (expression_statement "pTVar1 = parameters->target_;" (assignment_expression "pTVar1 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar1 == (Target *)0x0) {\nLAB_00191bd3:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(pTVar1 == (Target *)0x0)" ( (binary_expression "pTVar1 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00191bd3:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }" { (labeled_statement "LAB_00191bd3:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;)) })) (expression_statement "uVar2 = this->first_global_index_;" (assignment_expression "uVar2 = this->first_global_index_" identifier = (field_expression "this->first_global_index_" identifier -> field_identifier)) ;) (expression_statement "uVar3 = this->output_count_;" (assignment_expression "uVar3 = this->output_count_" identifier = (field_expression "this->output_count_" identifier -> field_identifier)) ;) (expression_statement "iVar22 = *(int *)((int)&this->offset_ + 4);" (assignment_expression "iVar22 = *(int *)((int)&this->offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&this->offset_ + 4)" * (cast_expression "(int *)((int)&this->offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->offset_ + 4)" ( (binary_expression "(int)&this->offset_ + 4" (cast_expression "(int)&this->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->offset_" & (field_expression "this->offset_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar4 = (uint)this->offset_;" (assignment_expression "uVar4 = (uint)this->offset_" identifier = (cast_expression "(uint)this->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->offset_" identifier -> field_identifier))) ;) (if_statement "if ((uVar3 == 0) || (uVar4 == 0 && iVar22 == 0)) {\n    local_7c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))\n    goto LAB_00191ca6;\n    local_7c = of->base_ + uVar4;\n  }" if (parenthesized_expression "((uVar3 == 0) || (uVar4 == 0 && iVar22 == 0))" ( (binary_expression "(uVar3 == 0) || (uVar4 == 0 && iVar22 == 0)" (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar4 == 0 && iVar22 == 0)" ( (binary_expression "uVar4 == 0 && iVar22 == 0" (binary_expression "uVar4 == 0" identifier == number_literal) && (binary_expression "iVar22 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_7c = (uchar *)0x0;\n  }" { (expression_statement "local_7c = (uchar *)0x0;" (assignment_expression "local_7c = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))\n    goto LAB_00191ca6;\n    local_7c = of->base_ + uVar4;\n  }" else (compound_statement "{\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))\n    goto LAB_00191ca6;\n    local_7c = of->base_ + uVar4;\n  }" { (if_statement "if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))\n    goto LAB_00191ca6;" if (parenthesized_expression "((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0))" ( (binary_expression "(iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0)" ( (comma_expression "iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0" (assignment_expression "iVar21 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) , (comma_expression "iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4),\n       uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0" (assignment_expression "iVar22 = iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4)" identifier = (binary_expression "iVar22 + (uint)CARRY4(uVar3 * 0x18,uVar4)" identifier + (cast_expression "(uint)CARRY4(uVar3 * 0x18,uVar4)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar3 * 0x18,uVar4)" identifier (argument_list "(uVar3 * 0x18,uVar4)" ( (binary_expression "uVar3 * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0" (assignment_expression "uVar5 = (uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar3 * 0x18 + uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar3 * 0x18 + uVar4)" ( (binary_expression "(uint)of->file_size_ < uVar3 * 0x18 + uVar4" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar3 * 0x18 + uVar4" (binary_expression "uVar3 * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0" (assignment_expression "iVar14 = iVar21 - iVar22" identifier = (binary_expression "iVar21 - iVar22" identifier - identifier)) , (binary_expression "(SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)) != (int)(iVar14 - uVar5) < 0" (parenthesized_expression "(SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5))" ( (binary_expression "SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar5)" (call_expression "SBORROW4(iVar21,iVar22)" identifier (argument_list "(iVar21,iVar22)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar14,uVar5)" identifier (argument_list "(iVar14,uVar5)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar14 - uVar5) < 0" (cast_expression "(int)(iVar14 - uVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar14 - uVar5)" ( (binary_expression "iVar14 - uVar5" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_00191ca6;" goto statement_identifier ;)) (expression_statement "local_7c = of->base_ + uVar4;" (assignment_expression "local_7c = of->base_ + uVar4" identifier = (binary_expression "of->base_ + uVar4" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) }))) (expression_statement "uVar4 = this->first_dynamic_global_index_;" (assignment_expression "uVar4 = this->first_dynamic_global_index_" identifier = (field_expression "this->first_dynamic_global_index_" identifier -> field_identifier)) ;) (expression_statement "uVar5 = this->dynamic_count_;" (assignment_expression "uVar5 = this->dynamic_count_" identifier = (field_expression "this->dynamic_count_" identifier -> field_identifier)) ;) (expression_statement "iVar22 = *(int *)((int)&this->dynamic_offset_ + 4);" (assignment_expression "iVar22 = *(int *)((int)&this->dynamic_offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&this->dynamic_offset_ + 4)" * (cast_expression "(int *)((int)&this->dynamic_offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->dynamic_offset_ + 4)" ( (binary_expression "(int)&this->dynamic_offset_ + 4" (cast_expression "(int)&this->dynamic_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->dynamic_offset_" & (field_expression "this->dynamic_offset_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar19 = (uint)this->dynamic_offset_;" (assignment_expression "uVar19 = (uint)this->dynamic_offset_" identifier = (cast_expression "(uint)this->dynamic_offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->dynamic_offset_" identifier -> field_identifier))) ;) (if_statement "if ((uVar5 == 0) || (uVar19 == 0 && iVar22 == 0)) {\n    local_48 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar19;\n  }" if (parenthesized_expression "((uVar5 == 0) || (uVar19 == 0 && iVar22 == 0))" ( (binary_expression "(uVar5 == 0) || (uVar19 == 0 && iVar22 == 0)" (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar19 == 0 && iVar22 == 0)" ( (binary_expression "uVar19 == 0 && iVar22 == 0" (binary_expression "uVar19 == 0" identifier == number_literal) && (binary_expression "iVar22 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_48 = (uchar *)0x0;\n  }" { (expression_statement "local_48 = (uchar *)0x0;" (assignment_expression "local_48 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar19;\n  }" else (compound_statement "{\n    if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar19;\n  }" { (if_statement "if ((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)) {\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" if (parenthesized_expression "((iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0))" ( (binary_expression "(iVar22 < 0) ||\n       (iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)" (parenthesized_expression "(iVar22 < 0)" ( (binary_expression "iVar22 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0)" ( (comma_expression "iVar21 = *(int *)((int)&of->file_size_ + 4),\n       iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0" (assignment_expression "iVar21 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) ))))) , (comma_expression "iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19),\n       uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0" (assignment_expression "iVar22 = iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19)" identifier = (binary_expression "iVar22 + (uint)CARRY4(uVar5 * 0x18,uVar19)" identifier + (cast_expression "(uint)CARRY4(uVar5 * 0x18,uVar19)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar5 * 0x18,uVar19)" identifier (argument_list "(uVar5 * 0x18,uVar19)" ( (binary_expression "uVar5 * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19), iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0" (assignment_expression "uVar25 = (uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar5 * 0x18 + uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar5 * 0x18 + uVar19)" ( (binary_expression "(uint)of->file_size_ < uVar5 * 0x18 + uVar19" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar5 * 0x18 + uVar19" (binary_expression "uVar5 * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar14 = iVar21 - iVar22,\n       (SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0" (assignment_expression "iVar14 = iVar21 - iVar22" identifier = (binary_expression "iVar21 - iVar22" identifier - identifier)) , (binary_expression "(SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)) != (int)(iVar14 - uVar25) < 0" (parenthesized_expression "(SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25))" ( (binary_expression "SBORROW4(iVar21,iVar22) != SBORROW4(iVar14,uVar25)" (call_expression "SBORROW4(iVar21,iVar22)" identifier (argument_list "(iVar21,iVar22)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar14,uVar25)" identifier (argument_list "(iVar14,uVar25)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar14 - uVar25) < 0" (cast_expression "(int)(iVar14 - uVar25)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar14 - uVar25)" ( (binary_expression "iVar14 - uVar25" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\nLAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" { (labeled_statement "LAB_00191ca6:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;)) })) (expression_statement "local_48 = of->base_ + uVar19;" (assignment_expression "local_48 = of->base_ + uVar19" identifier = (binary_expression "of->base_ + uVar19" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) }))) (expression_statement "local_4c = (this->table_)._M_h._M_before_begin._M_nxt;" (assignment_expression "local_4c = (this->table_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->table_)._M_h._M_before_begin._M_nxt" (field_expression "(this->table_)._M_h._M_before_begin" (field_expression "(this->table_)._M_h" (parenthesized_expression "(this->table_)" ( (field_expression "this->table_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (local_4c != (_Hash_node_base *)0x0) {\n    UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0);\n    do {\n      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;\n      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }\nLAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;\n      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }\n      if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }\n      local_4c = local_4c->_M_nxt;\n    } while (local_4c != (_Hash_node_base *)0x0);\n  }" if (parenthesized_expression "(local_4c != (_Hash_node_base *)0x0)" ( (binary_expression "local_4c != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0);\n    do {\n      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;\n      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }\nLAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;\n      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }\n      if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }\n      local_4c = local_4c->_M_nxt;\n    } while (local_4c != (_Hash_node_base *)0x0);\n  }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0);" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0)" identifier = (cast_expression "(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1dd0" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + identifier) )))) ;) (do_statement "do {\n      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;\n      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }\nLAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;\n      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }\n      if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }\n      local_4c = local_4c->_M_nxt;\n    } while (local_4c != (_Hash_node_base *)0x0);" do (compound_statement "{\n      pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;\n      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }\nLAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;\n      if (pcVar8 == (pointer)0x0) goto LAB_00191b10;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }\n      if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }\n      local_4c = local_4c->_M_nxt;\n    }" { (expression_statement "pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt;" (assignment_expression "pSVar6 = (Sized_symbol<64> *)local_4c[3]._M_nxt" identifier = (parenthesized_expression "(Sized_symbol<64> *)local_4c[3]._M_nxt" ( (binary_expression "Sized_symbol<64> *)local_4c[3]._M_nxt" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)local_4c[3]._M_nxt" * (ERROR ")" )) (field_expression "local_4c[3]._M_nxt" (subscript_expression "local_4c[3]" identifier [ number_literal ]) . field_identifier))) ))) ;) (if_statement "if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }" if (parenthesized_expression "((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2))" ( (binary_expression "(((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))\n         && ((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)" (parenthesized_expression "(((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))" ( (binary_expression "((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0)" (parenthesized_expression "((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->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 "(((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&\n           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->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 "(((pSVar6->super_Symbol).field_0x2a & 7) == 0)" ( (binary_expression "((pSVar6->super_Symbol).field_0x2a & 7) == 0" (parenthesized_expression "((pSVar6->super_Symbol).field_0x2a & 7)" ( (binary_expression "(pSVar6->super_Symbol).field_0x2a & 7" (field_expression "(pSVar6->super_Symbol).field_0x2a" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0)" ( (comma_expression "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,\n           ((uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_end_of_storage & 1) != 0" (assignment_expression "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment" identifier = (field_expression "(pSVar6->super_Symbol).u1_.output_segment" (field_expression "(pSVar6->super_Symbol).u1_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (binary_expression "((uint)pOVar17->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)pOVar17->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)pOVar17->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)pOVar17->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)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl" (binary_expression "(uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)pOVar17->output_lists_[3].\n                  super__Vector_base<gold" (cast_expression "(uint)pOVar17->output_lists_[3].\n                  super__Vector_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar17->output_lists_[3].\n                  super__Vector_base" (subscript_expression "pOVar17->output_lists_[3]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((pSVar6->super_Symbol).u2_.shndx == 0)" ( (binary_expression "(pSVar6->super_Symbol).u2_.shndx == 0" (field_expression "(pSVar6->super_Symbol).u2_.shndx" (field_expression "(pSVar6->super_Symbol).u2_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) == number_literal) ))) )) && (parenthesized_expression "((byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x28 >> 4 != 2" (binary_expression "(byte)(pSVar6->super_Symbol).field_0x28 >> 4" (field_expression "(byte)(pSVar6->super_Symbol).field_0x28" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n        if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }\n      }" { (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if ((parameters->options_->allow_shlib_undefined_).value == false) {\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }" if (parenthesized_expression "((parameters->options_->allow_shlib_undefined_).value == false)" ( (binary_expression "(parameters->options_->allow_shlib_undefined_).value == false" (field_expression "(parameters->options_->allow_shlib_undefined_).value" (parenthesized_expression "(parameters->options_->allow_shlib_undefined_)" ( (field_expression "parameters->options_->allow_shlib_undefined_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }\n          if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }\n        }" { (expression_statement "pTVar7 = parameters->target_;" (assignment_expression "pTVar7 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(pTVar7 == (Target *)0x0)" ( (binary_expression "pTVar7 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (if_statement "if (pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi) {\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }" if (parenthesized_expression "(pTVar7->_vptr_Target[7] != Target::do_is_defined_by_abi)" ( (binary_expression "pTVar7->_vptr_Target[7] != Target" (subscript_expression "pTVar7->_vptr_Target[7]" (field_expression "pTVar7->_vptr_Target" identifier -> field_identifier) [ number_literal ]) != identifier) (ERROR "::do_is_defined_by_abi" : : identifier) )) (compound_statement "{\n            iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);\n            if ((char)iVar22 != '\0') goto LAB_00191160;\n            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n          }" { (expression_statement "iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6);" (assignment_expression "iVar22 = (*pTVar7->_vptr_Target[7])(pTVar7,pSVar6)" identifier = (call_expression "(*pTVar7->_vptr_Target[7])(pTVar7,pSVar6)" (parenthesized_expression "(*pTVar7->_vptr_Target[7])" ( (pointer_expression "*pTVar7->_vptr_Target[7]" * (subscript_expression "pTVar7->_vptr_Target[7]" (field_expression "pTVar7->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar7,pSVar6)" ( identifier , identifier )))) ;) (if_statement "if ((char)iVar22 != '\0') goto LAB_00191160;" if (parenthesized_expression "((char)iVar22 != '\0')" ( (binary_expression "(char)iVar22 != '\0'" (cast_expression "(char)iVar22" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00191160;" goto statement_identifier ;)) (if_statement "if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;" if (parenthesized_expression "(((pSVar6->super_Symbol).field_0x2a & 7) != 0)" ( (binary_expression "((pSVar6->super_Symbol).field_0x2a & 7) != 0" (parenthesized_expression "((pSVar6->super_Symbol).field_0x2a & 7)" ( (binary_expression "(pSVar6->super_Symbol).field_0x2a & 7" (field_expression "(pSVar6->super_Symbol).field_0x2a" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001919e8;" goto statement_identifier ;)) (expression_statement "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment" identifier = (field_expression "(pSVar6->super_Symbol).u1_.output_segment" (field_expression "(pSVar6->super_Symbol).u1_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) })) (if_statement "if (((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0) {\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }" if (parenthesized_expression "(((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0)" ( (binary_expression "((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20) == 0" (parenthesized_expression "((uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20)" ( (binary_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 0x20" (field_expression "(uint)pOVar17->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)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl" (binary_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base<gold" (cast_expression "(uint)pOVar17->output_lists_[3].\n                     super__Vector_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar17->output_lists_[3].\n                     super__Vector_base" (subscript_expression "pOVar17->output_lists_[3]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;\n            if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }\n            if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }\n          }" { (expression_statement "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage;" (field_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage" (field_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl" (binary_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold::Output_data*,_std" (assignment_expression "ppOVar13 = pOVar17->output_lists_[7].\n                       super__Vector_base<gold" identifier = (binary_expression "pOVar17->output_lists_[7].\n                       super__Vector_base<gold" (field_expression "pOVar17->output_lists_[7].\n                       super__Vector_base" (subscript_expression "pOVar17->output_lists_[7]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppOVar13 == (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }" if (parenthesized_expression "(ppOVar13 == (pointer)0x0)" ( (binary_expression "ppOVar13 == (pointer)0x0" identifier == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");" (call_expression "do_gold_unreachable("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries")" identifier (argument_list "("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries")" ( (string_literal ""../../gold/dynobj.h"" " string_content ") , number_literal , (string_literal ""has_unknown_needed_entries"" " string_content ") ))) ;) })) (if_statement "if (ppOVar13 != (pointer)0x1) {\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }" if (parenthesized_expression "(ppOVar13 != (pointer)0x1)" ( (binary_expression "ppOVar13 != (pointer)0x1" identifier != (cast_expression "(pointer)0x1" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n              gold_undefined_symbol((Symbol *)pSVar6);\n            }" { (expression_statement "gold_undefined_symbol((Symbol *)pSVar6);" (call_expression "gold_undefined_symbol((Symbol *)pSVar6)" identifier (argument_list "((Symbol *)pSVar6)" ( (cast_expression "(Symbol *)pSVar6" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) })) })) })) (labeled_statement "LAB_00191160:\n      pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;" statement_identifier : (expression_statement "pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_;" (assignment_expression "pcVar8 = (pointer)(pSVar6->super_Symbol).symtab_index_" identifier = (field_expression "(pointer)(pSVar6->super_Symbol).symtab_index_" (call_expression "(pointer)(pSVar6->super_Symbol)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier)) ;)) (if_statement "if (pcVar8 == (pointer)0x0) goto LAB_00191b10;" if (parenthesized_expression "(pcVar8 == (pointer)0x0)" ( (binary_expression "pcVar8 == (pointer)0x0" identifier == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00191b10;" goto statement_identifier ;)) (if_statement "if (local_48 == (uchar *)0x0) {\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }\n      else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }" if (parenthesized_expression "(local_48 == (uchar *)0x0)" ( (binary_expression "local_48 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_60 = (pointer)0xffffffff;\n        pcVar18 = pcVar8;\n      }" { (expression_statement "local_60 = (pointer)0xffffffff;" (assignment_expression "local_60 = (pointer)0xffffffff" identifier = (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pcVar18 = pcVar8;" (assignment_expression "pcVar18 = pcVar8" identifier = identifier) ;) }) (else_clause "else {\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }" else (compound_statement "{\n        local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;\n        if (local_60 == (pointer)0x0) goto LAB_00191b2e;\n        pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);\n      }" { (expression_statement "local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_;" (assignment_expression "local_60 = (pointer)(pSVar6->super_Symbol).dynsym_index_" identifier = (field_expression "(pointer)(pSVar6->super_Symbol).dynsym_index_" (call_expression "(pointer)(pSVar6->super_Symbol)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (local_60 == (pointer)0x0) goto LAB_00191b2e;" if (parenthesized_expression "(local_60 == (pointer)0x0)" ( (binary_expression "local_60 == (pointer)0x0" identifier == (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00191b2e;" goto statement_identifier ;)) (expression_statement "pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8);" (assignment_expression "pcVar18 = (pointer)((uint)local_60 & (uint)pcVar8)" identifier = (call_expression "(pointer)((uint)local_60 & (uint)pcVar8)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((uint)local_60 & (uint)pcVar8)" ( (binary_expression "(uint)local_60 & (uint)pcVar8" (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)pcVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (pcVar18 != (pointer)0xffffffff) {\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }" if (parenthesized_expression "(pcVar18 != (pointer)0xffffffff)" ( (binary_expression "pcVar18 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        local_5c = (uint)pSVar6->value_;\n        local_58 = *(int *)((int)&pSVar6->value_ + 4);\n        SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);\n        pGVar9 = parameters->options_;\n        if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;\n        bVar23 = (pSVar6->super_Symbol).field_0x2a;\n        bVar16 = bVar23 & 7;\n        uVar19 = local_5c;\n        iVar22 = local_58;\n        if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }\n        if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }\n        if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }\n      }" { (expression_statement "local_5c = (uint)pSVar6->value_;" (assignment_expression "local_5c = (uint)pSVar6->value_" identifier = (cast_expression "(uint)pSVar6->value_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar6->value_" identifier -> field_identifier))) ;) (expression_statement "local_58 = *(int *)((int)&pSVar6->value_ + 4);" (assignment_expression "local_58 = *(int *)((int)&pSVar6->value_ + 4)" identifier = (pointer_expression "*(int *)((int)&pSVar6->value_ + 4)" * (cast_expression "(int *)((int)&pSVar6->value_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pSVar6->value_ + 4)" ( (binary_expression "(int)&pSVar6->value_ + 4" (cast_expression "(int)&pSVar6->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSVar6->value_" & (field_expression "pSVar6->value_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4);" (assignment_expression "SVar24 = (STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" identifier = (call_expression "(STB)((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" (parenthesized_expression "(STB)" ( identifier )) (argument_list "((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x28 >> 4" (field_expression "(byte)(pSVar6->super_Symbol).field_0x28" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) )))) ;) (expression_statement "pGVar9 = parameters->options_;" (assignment_expression "pGVar9 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar9 == (General_options *)0x0) goto LAB_00191b7c;" if (parenthesized_expression "(pGVar9 == (General_options *)0x0)" ( (binary_expression "pGVar9 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (expression_statement "bVar23 = (pSVar6->super_Symbol).field_0x2a;" (assignment_expression "bVar23 = (pSVar6->super_Symbol).field_0x2a" identifier = (field_expression "(pSVar6->super_Symbol).field_0x2a" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "bVar16 = bVar23 & 7;" (assignment_expression "bVar16 = bVar23 & 7" identifier = (binary_expression "bVar23 & 7" identifier & number_literal)) ;) (expression_statement "uVar19 = local_5c;" (assignment_expression "uVar19 = local_5c" identifier = identifier) ;) (expression_statement "iVar22 = local_58;" (assignment_expression "iVar22 = local_58" identifier = identifier) ;) (if_statement "if (((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)) {\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }\n        else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }" if (parenthesized_expression "(((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL))" ( (binary_expression "((pGVar9->weak_unresolved_symbols_).value == false) || (SVar24 != STB_GLOBAL)" (parenthesized_expression "((pGVar9->weak_unresolved_symbols_).value == false)" ( (binary_expression "(pGVar9->weak_unresolved_symbols_).value == false" (field_expression "(pGVar9->weak_unresolved_symbols_).value" (parenthesized_expression "(pGVar9->weak_unresolved_symbols_)" ( (field_expression "pGVar9->weak_unresolved_symbols_" identifier -> field_identifier) )) . field_identifier) == false) )) || (parenthesized_expression "(SVar24 != STB_GLOBAL)" ( (binary_expression "SVar24 != STB_GLOBAL" identifier != identifier) ))) )) (compound_statement "{\n          local_50 = SVar24;\n          if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }\n          switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }\n        }" { (expression_statement "local_50 = SVar24;" (assignment_expression "local_50 = SVar24" identifier = identifier) ;) (if_statement "if ((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)) {\n            local_50 = SVar24;\n          }" if (parenthesized_expression "((SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false))" ( (binary_expression "(SVar24 == STB_GNU_UNIQUE) &&\n             (local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)" (parenthesized_expression "(SVar24 == STB_GNU_UNIQUE)" ( (binary_expression "SVar24 == STB_GNU_UNIQUE" identifier == identifier) )) && (parenthesized_expression "(local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false)" ( (comma_expression "local_50 = STB_GLOBAL, (pGVar9->gnu_unique_).value != false" (assignment_expression "local_50 = STB_GLOBAL" identifier = identifier) , (binary_expression "(pGVar9->gnu_unique_).value != false" (field_expression "(pGVar9->gnu_unique_).value" (parenthesized_expression "(pGVar9->gnu_unique_)" ( (field_expression "pGVar9->gnu_unique_" identifier -> field_identifier) )) . field_identifier) != false)) ))) )) (compound_statement "{\n            local_50 = SVar24;\n          }" { (expression_statement "local_50 = SVar24;" (assignment_expression "local_50 = SVar24" identifier = identifier) ;) })) (switch_statement "switch(bVar16) {\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }" switch (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n          case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;\n          case 1:\n            goto LAB_001914e3;\n          case 2:\n            goto LAB_00191453;\n          case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\n            goto LAB_00191b4c;\n          }" { (case_statement "case 0:\n            if ((bVar23 & 7) != 0) goto _L2031;\n            local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;\n            bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;\n            if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }\n            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;\n            if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }\n            break;" case number_literal : (if_statement "if ((bVar23 & 7) != 0) goto _L2031;" if (parenthesized_expression "((bVar23 & 7) != 0)" ( (binary_expression "(bVar23 & 7) != 0" (parenthesized_expression "(bVar23 & 7)" ( (binary_expression "bVar23 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto _L2031;" goto statement_identifier ;)) (expression_statement "local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx;" (assignment_expression "local_54 = (_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx" identifier = (cast_expression "(_func_int_varargs **)(pSVar6->super_Symbol).u2_.shndx" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "(pSVar6->super_Symbol).u2_.shndx" (field_expression "(pSVar6->super_Symbol).u2_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5;" (assignment_expression "bVar23 = (byte)(pSVar6->super_Symbol).field_0x2b >> 5" identifier = (binary_expression "(byte)(pSVar6->super_Symbol).field_0x2b >> 5" (field_expression "(byte)(pSVar6->super_Symbol).field_0x2b" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal)) ;) (if_statement "if ((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)) {\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }" if (parenthesized_expression "((local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1))" ( (binary_expression "(local_54 != (_func_int_varargs **)0xfff1) && ((bVar23 & 1) != 1)" (parenthesized_expression "(local_54 != (_func_int_varargs **)0xfff1)" ( (binary_expression "local_54 != (_func_int_varargs **)0xfff1" identifier != (cast_expression "(_func_int_varargs **)0xfff1" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "((bVar23 & 1) != 1)" ( (binary_expression "(bVar23 & 1) != 1" (parenthesized_expression "(bVar23 & 1)" ( (binary_expression "bVar23 & 1" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              bVar26 = Symbol::is_common_shndx((uint)local_54);\n              if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }\n              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }\n            }" { (ERROR "bVar26 = Symbol::" (assignment_expression "bVar26 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx((uint)local_54);" (call_expression "is_common_shndx((uint)local_54)" identifier (argument_list "((uint)local_54)" ( (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (if_statement "if (!bVar26) {\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }" if (parenthesized_expression "(!bVar26)" ( (unary_expression "!bVar26" ! identifier) )) (compound_statement "{\n                demangle(&local_34,(pSVar6->super_Symbol).name_);\n                _Var15._M_p = local_34._M_dataplus._M_p;\n                format = (char *)gettext("%s: unsupported symbol section 0x%x");\n                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */\n                gold_error(format,_Var15._M_p,local_54);\n                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }\n                break;\n              }" { (expression_statement "demangle(&local_34,(pSVar6->super_Symbol).name_);" (call_expression "demangle(&local_34,(pSVar6->super_Symbol).name_)" identifier (argument_list "(&local_34,(pSVar6->super_Symbol).name_)" ( (pointer_expression "&local_34" & identifier) , (field_expression "(pSVar6->super_Symbol).name_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "_Var15._M_p = local_34._M_dataplus._M_p;" (assignment_expression "_Var15._M_p = local_34._M_dataplus._M_p" (field_expression "_Var15._M_p" identifier . field_identifier) = (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "format = (char *)gettext("%s: unsupported symbol section 0x%x");" (assignment_expression "format = (char *)gettext("%s: unsupported symbol section 0x%x")" identifier = (cast_expression "(char *)gettext("%s: unsupported symbol section 0x%x")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: unsupported symbol section 0x%x")" identifier (argument_list "("%s: unsupported symbol section 0x%x")" ( (string_literal ""%s: unsupported symbol section 0x%x"" " string_content ") ))))) ;) comment (expression_statement "gold_error(format,_Var15._M_p,local_54);" (call_expression "gold_error(format,_Var15._M_p,local_54)" identifier (argument_list "(format,_Var15._M_p,local_54)" ( identifier , (field_expression "_Var15._M_p" identifier . field_identifier) , identifier ))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2) {\n                  operator_delete(local_34._M_dataplus._M_p);\n                }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p != &local_34.field_2" (binary_expression "allocator<char>_>_9\n                     *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                     *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_34.field_2" & (field_expression "local_34.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n                  operator_delete(local_34._M_dataplus._M_p);\n                }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (break_statement "break;" break ;) })) (if_statement "if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }" if (parenthesized_expression "(((pSVar6->super_Symbol).field_0x2a & 7) != 0)" ( (binary_expression "((pSVar6->super_Symbol).field_0x2a & 7) != 0" (parenthesized_expression "((pSVar6->super_Symbol).field_0x2a & 7)" ( (binary_expression "(pSVar6->super_Symbol).field_0x2a & 7" (field_expression "(pSVar6->super_Symbol).field_0x2a" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n              }" { (labeled_statement "LAB_001919e8:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.h",0xa1,"object");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xa1,"object");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;)) })) })) (expression_statement "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar17 = (pSVar6->super_Symbol).u1_.output_segment" identifier = (field_expression "(pSVar6->super_Symbol).u1_.output_segment" (field_expression "(pSVar6->super_Symbol).u1_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl._M_end_of_storage & 1) == 0) {\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }\n            else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }" if (parenthesized_expression "(((uint)pOVar17->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)pOVar17->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)pOVar17->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)pOVar17->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)pOVar17->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)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                       _M_impl" (binary_expression "(uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)pOVar17->output_lists_[3].\n                       super__Vector_base<gold" (cast_expression "(uint)pOVar17->output_lists_[3].\n                       super__Vector_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar17->output_lists_[3].\n                       super__Vector_base" (subscript_expression "pOVar17->output_lists_[3]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);\n              if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;\n              if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }\n            }" { (expression_statement "iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17);" (assignment_expression "iVar21 = (*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17)" identifier = (call_expression "(*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])(pOVar17)" (parenthesized_expression "(*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                 ._M_impl._M_start[5])" ( (ERROR "*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std::allocator<gold::" (comma_expression "*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*,_std" (binary_expression "*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold::Output_data*" (binary_expression "*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base<gold" (pointer_expression "*(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base" * (cast_expression "(code *)pOVar17->output_lists_[0].\n                                 super__Vector_base" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar17->output_lists_[0].\n                                 super__Vector_base" (subscript_expression "pOVar17->output_lists_[0]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier))) < identifier) (ERROR "::Output_data" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (subscript_expression "Output_data*>_>\n                                 ._M_impl._M_start[5]" (field_expression "Output_data*>_>\n                                 ._M_impl._M_start" (field_expression "Output_data*>_>\n                                 ._M_impl" (binary_expression "Output_data*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ number_literal ]) )) (argument_list "(pOVar17)" ( identifier )))) ;) (if_statement "if ((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)) goto _L2096;" if (parenthesized_expression "((local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0))" ( (binary_expression "(local_54 == (_func_int_varargs **)0x0) || (iVar21 != 0)" (parenthesized_expression "(local_54 == (_func_int_varargs **)0x0)" ( (binary_expression "local_54 == (_func_int_varargs **)0x0" identifier == (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) ))) )) (goto_statement "goto _L2096;" goto statement_identifier ;)) (if_statement "if (((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))) {\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }" if (parenthesized_expression "(((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26))))" ( (binary_expression "((bVar23 & 1) != 0) ||\n                 ((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))" (parenthesized_expression "((bVar23 & 1) != 0)" ( (binary_expression "(bVar23 & 1) != 0" (parenthesized_expression "(bVar23 & 1)" ( (binary_expression "bVar23 & 1" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "((local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)))" ( (parenthesized_expression "(local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26))" ( (binary_expression "local_54 != (_func_int_varargs **)0xfff1 &&\n                  (bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)" (binary_expression "local_54 != (_func_int_varargs **)0xfff1" identifier != (cast_expression "(_func_int_varargs **)0xfff1" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) && (parenthesized_expression "(bVar26 = Symbol::is_common_shndx((uint)local_54), !bVar26)" ( (ERROR "bVar26 = Symbol::" (assignment_expression "bVar26 = Symbol" identifier = identifier) : :) (comma_expression "is_common_shndx((uint)local_54), !bVar26" (call_expression "is_common_shndx((uint)local_54)" identifier (argument_list "((uint)local_54)" ( (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ))) , (unary_expression "!bVar26" ! identifier)) ))) )) ))) )) (compound_statement "{\n                pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];\n                if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }\n                bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);\n                if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }\n                if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }\n                if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }\n                if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;\n                if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }\n              }" { (expression_statement "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18];" (subscript_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start[0x18]" (field_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl._M_start" (field_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                          ._M_impl" (binary_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold::Output_data*,_std" (assignment_expression "pOVar12 = pOVar17->output_lists_[0].\n                          super__Vector_base<gold" identifier = (binary_expression "pOVar17->output_lists_[0].\n                          super__Vector_base<gold" (field_expression "pOVar17->output_lists_[0].\n                          super__Vector_base" (subscript_expression "pOVar17->output_lists_[0]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ number_literal ]) ;) (if_statement "if (pOVar12 == (Output_data *)Relobj::do_output_section) {\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }\n                else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }" if (parenthesized_expression "(pOVar12 == (Output_data *)Relobj::do_output_section)" ( (binary_expression "pOVar12 == (Output_data *)Relobj" identifier == (cast_expression "(Output_data *)Relobj" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n                  ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;\n                  if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;\n                  local_84 = ppOVar13[(int)local_54];\n                }" { (expression_statement "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage;" (field_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage" (field_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl" (binary_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold::Output_data*,_std" (assignment_expression "ppOVar13 = pOVar17->output_lists_[4].\n                             super__Vector_base<gold" identifier = (binary_expression "pOVar17->output_lists_[4].\n                             super__Vector_base<gold" (field_expression "pOVar17->output_lists_[4].\n                             super__Vector_base" (subscript_expression "pOVar17->output_lists_[4]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54) goto LAB_00191d06;" if (parenthesized_expression "((_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54)" ( (binary_expression "(_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2) <= local_54" (cast_expression "(_func_int_varargs **)\n                      ((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2)" ( (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13 >> 2" (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start - (int)ppOVar13" (field_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl._M_start" (field_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                            ._M_impl" (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold::Output_data*,_std" (binary_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base<gold" (cast_expression "(int)pOVar17->output_lists_[5].\n                            super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar17->output_lists_[5].\n                            super__Vector_base" (subscript_expression "pOVar17->output_lists_[5]" (field_expression "pOVar17->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppOVar13" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_00191d06;" goto statement_identifier ;)) (expression_statement "local_84 = ppOVar13[(int)local_54];" (assignment_expression "local_84 = ppOVar13[(int)local_54]" identifier = (subscript_expression "ppOVar13[(int)local_54]" identifier [ (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) }) (else_clause "else {\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }" else (compound_statement "{\n                  local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);\n                }" { (expression_statement "local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54);" (assignment_expression "local_84 = (Output_data *)(*(code *)pOVar12)(pOVar17,local_54)" identifier = (cast_expression "(Output_data *)(*(code *)pOVar12)(pOVar17,local_54)" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pOVar12)(pOVar17,local_54)" (parenthesized_expression "(*(code *)pOVar12)" ( (pointer_expression "*(code *)pOVar12" * (cast_expression "(code *)pOVar12" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar17,local_54)" ( identifier , identifier ))))) ;) }))) (expression_statement "bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54);" (assignment_expression "bVar26 = is_section_folded(this,(Relobj *)pOVar17,(uint)local_54)" identifier = (call_expression "is_section_folded(this,(Relobj *)pOVar17,(uint)local_54)" identifier (argument_list "(this,(Relobj *)pOVar17,(uint)local_54)" ( identifier , (cast_expression "(Relobj *)pOVar17" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (if_statement "if (bVar26) {\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }\n                else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                  Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);\n                  if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }\n                  if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }\n                  if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }\n                }" { (labeled_statement "Icf::get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);" statement_identifier : (ERROR ":" :) (expression_statement "get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54);" (call_expression "get_folded_section(this->icf_,(Relobj *)pOVar17,(uint)local_54)" identifier (argument_list "(this->icf_,(Relobj *)pOVar17,(uint)local_54)" ( (field_expression "this->icf_" identifier -> field_identifier) , (cast_expression "(Relobj *)pOVar17" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;)) (if_statement "if (local_44 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }" if (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");\n                  }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xc53,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xc53,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*local_44 + 0x60) == Relobj::do_output_section) {\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }\n                  else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }" if (parenthesized_expression "(*(code **)(*local_44 + 0x60) == Relobj::do_output_section)" ( (binary_expression "*(code **)(*local_44 + 0x60) == Relobj" (pointer_expression "*(code **)(*local_44 + 0x60)" * (cast_expression "(code **)(*local_44 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_44 + 0x60)" ( (binary_expression "*local_44 + 0x60" (pointer_expression "*local_44" * identifier) + number_literal) )))) == identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n                    if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }\n                    local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);\n                  }" { (if_statement "if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }" if (parenthesized_expression "((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40)" ( (binary_expression "(uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40" (call_expression "(uint)(local_44[0xf] - local_44[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44[0xf] - local_44[0xe] >> 2)" ( (binary_expression "local_44[0xf] - local_44[0xe] >> 2" (binary_expression "local_44[0xf] - local_44[0xe]" (subscript_expression "local_44[0xf]" identifier [ number_literal ]) - (subscript_expression "local_44[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n                    }" { (labeled_statement "LAB_00191d06:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;)) })) (expression_statement "local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4);" (assignment_expression "local_84 = *(Output_data **)(local_44[0xe] + local_40 * 4)" identifier = (pointer_expression "*(Output_data **)(local_44[0xe] + local_40 * 4)" * (cast_expression "(Output_data **)(local_44[0xe] + local_40 * 4)" ( (type_descriptor "Output_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_44[0xe] + local_40 * 4)" ( (binary_expression "local_44[0xe] + local_40 * 4" (subscript_expression "local_44[0xe]" identifier [ number_literal ]) + (binary_expression "local_40 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }" else (compound_statement "{\n                    local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);\n                  }" { (expression_statement "local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40);" (assignment_expression "local_84 = (Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40)" identifier = (cast_expression "(Output_data *)(**(code **)(*local_44 + 0x60))(local_44,local_40)" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*local_44 + 0x60))(local_44,local_40)" (parenthesized_expression "(**(code **)(*local_44 + 0x60))" ( (pointer_expression "**(code **)(*local_44 + 0x60)" * (pointer_expression "*(code **)(*local_44 + 0x60)" * (cast_expression "(code **)(*local_44 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_44 + 0x60)" ( (binary_expression "*local_44 + 0x60" (pointer_expression "*local_44" * identifier) + number_literal) ))))) )) (argument_list "(local_44,local_40)" ( identifier , identifier ))))) ;) }))) (if_statement "if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }" if (parenthesized_expression "(local_84 == (Output_data *)0x0)" ( (binary_expression "local_84 == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");\n                  }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xc57,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xc57,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) }) (else_clause "else if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }" else (if_statement "if (local_84 == (Output_data *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }" if (parenthesized_expression "(local_84 == (Output_data *)0x0)" ( (binary_expression "local_84 == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xc59,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xc59,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })))) (if_statement "if (local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx) {\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }\n                else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }" if (parenthesized_expression "(local_84->_vptr_Output_data[0xb] == Output_section::do_out_shndx)" ( (binary_expression "local_84->_vptr_Output_data[0xb] == Output_section" (subscript_expression "local_84->_vptr_Output_data[0xb]" (field_expression "local_84->_vptr_Output_data" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_out_shndx" : : identifier) )) (compound_statement "{\n                  local_54 = local_84[3]._vptr_Output_data;\n                  if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;\n                }" { (expression_statement "local_54 = local_84[3]._vptr_Output_data;" (assignment_expression "local_54 = local_84[3]._vptr_Output_data" identifier = (field_expression "local_84[3]._vptr_Output_data" (subscript_expression "local_84[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (local_54 == (_func_int_varargs **)0xffffffff) goto LAB_00191d3b;" if (parenthesized_expression "(local_54 == (_func_int_varargs **)0xffffffff)" ( (binary_expression "local_54 == (_func_int_varargs **)0xffffffff" identifier == (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00191d3b;" goto statement_identifier ;)) }) (else_clause "else {\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }" else (compound_statement "{\n                  local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);\n                }" { (expression_statement "local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84);" (assignment_expression "local_54 = (_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84)" identifier = (cast_expression "(_func_int_varargs **)(*local_84->_vptr_Output_data[0xb])(local_84)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*local_84->_vptr_Output_data[0xb])(local_84)" (parenthesized_expression "(*local_84->_vptr_Output_data[0xb])" ( (pointer_expression "*local_84->_vptr_Output_data[0xb]" * (subscript_expression "local_84->_vptr_Output_data[0xb]" (field_expression "local_84->_vptr_Output_data" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(local_84)" ( identifier ))))) ;) }))) (if_statement "if ((_func_int_varargs **)0xfeff < local_54) {\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }" if (parenthesized_expression "((_func_int_varargs **)0xfeff < local_54)" ( (binary_expression "(_func_int_varargs **)0xfeff < local_54" (cast_expression "(_func_int_varargs **)0xfeff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                  if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }\n                  if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                }" { (if_statement "if (pcVar8 != (pointer)0xffffffff) {\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }" if (parenthesized_expression "(pcVar8 != (pointer)0xffffffff)" ( (binary_expression "pcVar8 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                    local_34._M_string_length = (size_type)local_54;\n                    local_34._M_dataplus._M_p = pcVar8;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                  }" { (expression_statement "local_34._M_string_length = (size_type)local_54;" (assignment_expression "local_34._M_string_length = (size_type)local_54" (field_expression "local_34._M_string_length" identifier . field_identifier) = (cast_expression "(size_type)local_54" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "local_34._M_dataplus._M_p = pcVar8;" (assignment_expression "local_34._M_dataplus._M_p = pcVar8" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (labeled_statement "std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);" statement_identifier (ERROR "::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                    ::emplace_back<std" (binary_expression "_unsigned_int>_>_>\n                    ::emplace_back" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                              (&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" ( (comma_expression "&symtab_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34" (pointer_expression "&symtab_xindex->entries_" & (field_expression "symtab_xindex->entries_" identifier -> field_identifier)) , (binary_expression "(pair<unsigned_int,_unsigned_int> *)&local_34" (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)" ( (comma_expression "pair<unsigned_int,_unsigned_int> *" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) })) (if_statement "if (local_60 == (pointer)0xffffffff) {\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }\n                  else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }" if (parenthesized_expression "(local_60 == (pointer)0xffffffff)" ( (binary_expression "local_60 == (pointer)0xffffffff" identifier == (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }" { (expression_statement "local_54 = (_func_int_varargs **)0xffff;" (assignment_expression "local_54 = (_func_int_varargs **)0xffff" identifier = (cast_expression "(_func_int_varargs **)0xffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }" else (compound_statement "{\n                    local_34._M_dataplus._M_p = local_60;\n                    local_34._M_string_length = (size_type)local_54;\n                    std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);\n                    local_54 = (_func_int_varargs **)0xffff;\n                  }" { (expression_statement "local_34._M_dataplus._M_p = local_60;" (assignment_expression "local_34._M_dataplus._M_p = local_60" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_34._M_string_length = (size_type)local_54;" (assignment_expression "local_34._M_string_length = (size_type)local_54" (field_expression "local_34._M_string_length" identifier . field_identifier) = (cast_expression "(size_type)local_54" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "std::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);" statement_identifier (ERROR "::\n                    vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                    ::emplace_back<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                    ::emplace_back<std" (binary_expression "_unsigned_int>_>_>\n                    ::emplace_back" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34);" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                              (&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34)" ( (comma_expression "&dynsym_xindex->entries_,\n                               (pair<unsigned_int,_unsigned_int> *)&local_34" (pointer_expression "&dynsym_xindex->entries_" & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier)) , (binary_expression "(pair<unsigned_int,_unsigned_int> *)&local_34" (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)" ( (comma_expression "pair<unsigned_int,_unsigned_int> *" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) (expression_statement "local_54 = (_func_int_varargs **)0xffff;" (assignment_expression "local_54 = (_func_int_varargs **)0xffff" identifier = (cast_expression "(_func_int_varargs **)0xffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (if_statement "if (parameters->options_ == (General_options *)0x0) goto LAB_00191b7c;" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if ((parameters->options_->relocatable_).value != false) {\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }" if (parenthesized_expression "((parameters->options_->relocatable_).value != false)" ( (binary_expression "(parameters->options_->relocatable_).value != false" (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                  if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;\n                  uVar25 = (uint)local_84->address_;\n                  bVar26 = local_5c < uVar25;\n                  local_5c = local_5c - uVar25;\n                  local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));\n                }" { (if_statement "if ((local_84->field_0x1c & 1) == 0) goto LAB_00191c88;" if (parenthesized_expression "((local_84->field_0x1c & 1) == 0)" ( (binary_expression "(local_84->field_0x1c & 1) == 0" (parenthesized_expression "(local_84->field_0x1c & 1)" ( (binary_expression "local_84->field_0x1c & 1" (field_expression "local_84->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00191c88;" goto statement_identifier ;)) (expression_statement "uVar25 = (uint)local_84->address_;" (assignment_expression "uVar25 = (uint)local_84->address_" identifier = (cast_expression "(uint)local_84->address_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_84->address_" identifier -> field_identifier))) ;) (expression_statement "bVar26 = local_5c < uVar25;" (assignment_expression "bVar26 = local_5c < uVar25" identifier = (binary_expression "local_5c < uVar25" identifier < identifier)) ;) (expression_statement "local_5c = local_5c - uVar25;" (assignment_expression "local_5c = local_5c - uVar25" identifier = (binary_expression "local_5c - uVar25" identifier - identifier)) ;) (expression_statement "local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4));" (assignment_expression "local_58 = local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4))" identifier = (binary_expression "local_58 + (-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4))" identifier + (parenthesized_expression "(-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4))" ( (binary_expression "-(uint)bVar26 - *(int *)((int)&local_84->address_ + 4)" (unary_expression "-(uint)bVar26" - (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) - (pointer_expression "*(int *)((int)&local_84->address_ + 4)" * (cast_expression "(int *)((int)&local_84->address_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_84->address_ + 4)" ( (binary_expression "(int)&local_84->address_ + 4" (cast_expression "(int)&local_84->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_84->address_" & (field_expression "local_84->address_" identifier -> field_identifier))) + number_literal) ))))) )))) ;) })) })) }) (else_clause "else {\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }" else (compound_statement "{\n              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }\n              local_54 = (_func_int_varargs **)0x0;\n              local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);\n            }" { (if_statement "if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }" if (parenthesized_expression "(((pSVar6->super_Symbol).field_0x2b & 2) != 0)" ( (binary_expression "((pSVar6->super_Symbol).field_0x2b & 2) != 0" (parenthesized_expression "((pSVar6->super_Symbol).field_0x2b & 2)" ( (binary_expression "(pSVar6->super_Symbol).field_0x2b & 2" (field_expression "(pSVar6->super_Symbol).field_0x2b" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);\n                iVar22 = extraout_EDX;\n              }" { (expression_statement "uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6);" (assignment_expression "uVar19 = (*pTVar1->_vptr_Target[5])(pTVar1,pSVar6)" identifier = (call_expression "(*pTVar1->_vptr_Target[5])(pTVar1,pSVar6)" (parenthesized_expression "(*pTVar1->_vptr_Target[5])" ( (pointer_expression "*pTVar1->_vptr_Target[5]" * (subscript_expression "pTVar1->_vptr_Target[5]" (field_expression "pTVar1->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar1,pSVar6)" ( identifier , identifier )))) ;) (expression_statement "iVar22 = extraout_EDX;" (assignment_expression "iVar22 = extraout_EDX" identifier = identifier) ;) })) (expression_statement "local_54 = (_func_int_varargs **)0x0;" (assignment_expression "local_54 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);" (assignment_expression "local_50 = STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0)" identifier = (binary_expression "STB_WEAK - (((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0)" identifier - (parenthesized_expression "(((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0)" ( (binary_expression "((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0" (parenthesized_expression "((byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x2c >> 1 & 1" (binary_expression "(byte)(pSVar6->super_Symbol).field_0x2c >> 1" (field_expression "(byte)(pSVar6->super_Symbol).field_0x2c" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) & number_literal) )) == number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 1:\n            goto LAB_001914e3;" case number_literal : (goto_statement "goto LAB_001914e3;" goto statement_identifier ;)) (case_statement "case 2:\n            goto LAB_00191453;" case number_literal : (goto_statement "goto LAB_00191453;" goto statement_identifier ;)) (case_statement "case 3:\n_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;" case number_literal : (labeled_statement "_L2103:\n            local_54 = (_func_int_varargs **)0xfff1;" statement_identifier : (expression_statement "local_54 = (_func_int_varargs **)0xfff1;" (assignment_expression "local_54 = (_func_int_varargs **)0xfff1" identifier = (cast_expression "(_func_int_varargs **)0xfff1" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (break_statement "break;" break ;)) (case_statement "case 4:\n_L2096:\n            local_54 = (_func_int_varargs **)0x0;\n            break;" case number_literal : (labeled_statement "_L2096:\n            local_54 = (_func_int_varargs **)0x0;" statement_identifier : (expression_statement "local_54 = (_func_int_varargs **)0x0;" (assignment_expression "local_54 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (break_statement "break;" break ;)) (case_statement "default:\n            goto LAB_00191b4c;" default : (goto_statement "goto LAB_00191b4c;" goto statement_identifier ;)) })) }) (else_clause "else {\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }" else (compound_statement "{\n          if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }\n          if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }\n                    /* WARNING: Could not find normalized switch variable to match jumptable */\n          switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }\n        }" { (if_statement "if (bVar16 == 0) {\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }" if (parenthesized_expression "(bVar16 == 0)" ( (binary_expression "bVar16 == 0" identifier == number_literal) )) (compound_statement "{\n            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*UNRECOVERED_JUMPTABLE)();\n            return;\n          }" { (if_statement "if (((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }" if (parenthesized_expression "(((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0))" ( (binary_expression "((pSVar6->super_Symbol).u2_.shndx == 0) &&\n               (((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)" (parenthesized_expression "((pSVar6->super_Symbol).u2_.shndx == 0)" ( (binary_expression "(pSVar6->super_Symbol).u2_.shndx == 0" (field_expression "(pSVar6->super_Symbol).u2_.shndx" (field_expression "(pSVar6->super_Symbol).u2_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) == number_literal) )) && (parenthesized_expression "(((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)" ( (binary_expression "((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0" (parenthesized_expression "((byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x2b >> 5 & 1" (binary_expression "(byte)(pSVar6->super_Symbol).field_0x2b >> 5" (field_expression "(byte)(pSVar6->super_Symbol).field_0x2b" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))();" (call_expression "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))()" (parenthesized_expression "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c))" ( (pointer_expression "*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c)" * (cast_expression "(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1e0c" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar16 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }" if (parenthesized_expression "(bVar16 == 4)" ( (binary_expression "bVar16 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))();" (call_expression "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))()" (parenthesized_expression "(*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4))" ( (pointer_expression "*(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4)" * (cast_expression "(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + DAT_002b1df4" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (switch_statement "switch(bVar16) {\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }" switch (parenthesized_expression "(bVar16)" ( identifier )) (compound_statement "{\n          case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n          case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;\n          case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;\n          case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;\n          case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;\n          default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");\n          }" { (case_statement "case 0:\n_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");" case number_literal : (labeled_statement "_L2031:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;))) (case_statement "case 1:\n            local_50 = STB_GLOBAL;\nLAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }\n            pOVar11 = (pSVar6->super_Symbol).u1_.object;\n            local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);\n            if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }\n            break;" case number_literal : (expression_statement "local_50 = STB_GLOBAL;" (assignment_expression "local_50 = STB_GLOBAL" identifier = identifier) ;) (labeled_statement "LAB_001914e3:\n            if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }" statement_identifier : (if_statement "if ((bVar23 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }" if (parenthesized_expression "((bVar23 & 7) != 1)" ( (binary_expression "(bVar23 & 7) != 1" (parenthesized_expression "(bVar23 & 7)" ( (binary_expression "bVar23 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data")" identifier (argument_list "("../../gold/symtab.h",0xb5,"output_data")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_data"" " string_content ") ))) ;) }))) (expression_statement "pOVar11 = (pSVar6->super_Symbol).u1_.object;" (assignment_expression "pOVar11 = (pSVar6->super_Symbol).u1_.object" identifier = (field_expression "(pSVar6->super_Symbol).u1_.object" (field_expression "(pSVar6->super_Symbol).u1_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11);" (assignment_expression "local_54 = (_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11)" identifier = (cast_expression "(_func_int_varargs **)(*pOVar11->_vptr_Object[0xb])(pOVar11)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pOVar11->_vptr_Object[0xb])(pOVar11)" (parenthesized_expression "(*pOVar11->_vptr_Object[0xb])" ( (pointer_expression "*pOVar11->_vptr_Object[0xb]" * (subscript_expression "pOVar11->_vptr_Object[0xb]" (field_expression "pOVar11->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar11)" ( identifier ))))) ;) (if_statement "if ((_func_int_varargs **)0xfeff < local_54) {\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }" if (parenthesized_expression "((_func_int_varargs **)0xfeff < local_54)" ( (binary_expression "(_func_int_varargs **)0xfeff < local_54" (cast_expression "(_func_int_varargs **)0xfeff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n              if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }\n              if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n            }" { (if_statement "if (pcVar8 != (pointer)0xffffffff) {\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }" if (parenthesized_expression "(pcVar8 != (pointer)0xffffffff)" ( (binary_expression "pcVar8 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                local_34._M_dataplus._M_p = pcVar8;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n              }" { (expression_statement "local_34._M_dataplus._M_p = pcVar8;" (assignment_expression "local_34._M_dataplus._M_p = pcVar8" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_34._M_string_length = (size_type)local_54;" (assignment_expression "local_34._M_string_length = (size_type)local_54" (field_expression "local_34._M_string_length" identifier . field_identifier) = (cast_expression "(size_type)local_54" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);" statement_identifier (ERROR "::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                ::emplace_back<std" (binary_expression "_unsigned_int>_>_>\n                ::emplace_back" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                          (&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" ( (comma_expression "&symtab_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34" (pointer_expression "&symtab_xindex->entries_" & (field_expression "symtab_xindex->entries_" identifier -> field_identifier)) , (binary_expression "(pair<unsigned_int,_unsigned_int> *)&local_34" (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)" ( (comma_expression "pair<unsigned_int,_unsigned_int> *" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) })) (if_statement "if (local_60 == (pointer)0xffffffff) {\n                local_54 = (_func_int_varargs **)0xffff;\n              }\n              else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }" if (parenthesized_expression "(local_60 == (pointer)0xffffffff)" ( (binary_expression "local_60 == (pointer)0xffffffff" identifier == (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                local_54 = (_func_int_varargs **)0xffff;\n              }" { (expression_statement "local_54 = (_func_int_varargs **)0xffff;" (assignment_expression "local_54 = (_func_int_varargs **)0xffff" identifier = (cast_expression "(_func_int_varargs **)0xffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }" else (compound_statement "{\n                local_34._M_dataplus._M_p = local_60;\n                local_34._M_string_length = (size_type)local_54;\n                std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);\n                local_54 = (_func_int_varargs **)0xffff;\n              }" { (expression_statement "local_34._M_dataplus._M_p = local_60;" (assignment_expression "local_34._M_dataplus._M_p = local_60" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_34._M_string_length = (size_type)local_54;" (assignment_expression "local_34._M_string_length = (size_type)local_54" (field_expression "local_34._M_string_length" identifier . field_identifier) = (cast_expression "(size_type)local_54" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "std::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);" statement_identifier (ERROR "::\n                vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std:" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                ::emplace_back<std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                ::emplace_back<std" (binary_expression "_unsigned_int>_>_>\n                ::emplace_back" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier)) :) : (expression_statement "pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34);" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                          (&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34)" ( (comma_expression "&dynsym_xindex->entries_,(pair<unsigned_int,_unsigned_int> *)&local_34" (pointer_expression "&dynsym_xindex->entries_" & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier)) , (binary_expression "(pair<unsigned_int,_unsigned_int> *)&local_34" (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)" ( (comma_expression "pair<unsigned_int,_unsigned_int> *" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) )))) ;)) (expression_statement "local_54 = (_func_int_varargs **)0xffff;" (assignment_expression "local_54 = (_func_int_varargs **)0xffff" identifier = (cast_expression "(_func_int_varargs **)0xffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (if_statement "if (parameters->options_ == (General_options *)0x0) {\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" { (labeled_statement "LAB_00191b7c:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((parameters->options_->relocatable_).value != false) {\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }" if (parenthesized_expression "((parameters->options_->relocatable_).value != false)" ( (binary_expression "(parameters->options_->relocatable_).value != false" (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n              iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);\n              if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }\n              if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }\n              bVar26 = local_5c < *(uint *)(iVar21 + 4);\n              local_5c = local_5c - *(uint *)(iVar21 + 4);\n              local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));\n            }" { (expression_statement "iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11);" (assignment_expression "iVar21 = (*pOVar11->_vptr_Object[9])(pOVar11)" identifier = (call_expression "(*pOVar11->_vptr_Object[9])(pOVar11)" (parenthesized_expression "(*pOVar11->_vptr_Object[9])" ( (pointer_expression "*pOVar11->_vptr_Object[9]" * (subscript_expression "pOVar11->_vptr_Object[9]" (field_expression "pOVar11->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar11)" ( identifier )))) ;) (if_statement "if (iVar21 == 0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xc81,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xc81,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) {\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");\n              }" { (labeled_statement "LAB_00191c88:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "bVar26 = local_5c < *(uint *)(iVar21 + 4);" (assignment_expression "bVar26 = local_5c < *(uint *)(iVar21 + 4)" identifier = (binary_expression "local_5c < *(uint *)(iVar21 + 4)" identifier < (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_5c = local_5c - *(uint *)(iVar21 + 4);" (assignment_expression "local_5c = local_5c - *(uint *)(iVar21 + 4)" identifier = (binary_expression "local_5c - *(uint *)(iVar21 + 4)" identifier - (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8));" (assignment_expression "local_58 = local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8))" identifier = (binary_expression "local_58 + (-(uint)bVar26 - *(int *)(iVar21 + 8))" identifier + (parenthesized_expression "(-(uint)bVar26 - *(int *)(iVar21 + 8))" ( (binary_expression "-(uint)bVar26 - *(int *)(iVar21 + 8)" (unary_expression "-(uint)bVar26" - (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) - (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) ))))) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 2:\n            local_50 = STB_GLOBAL;\nLAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }\n            pOVar20 = Output_segment::first_section((pSVar6->super_Symbol).u1_.output_segment);\n            if (pOVar20 == (Output_section *)0x0) goto _L2103;\n            p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];\n            if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }\n            break;" case number_literal : (expression_statement "local_50 = STB_GLOBAL;" (assignment_expression "local_50 = STB_GLOBAL" identifier = identifier) ;) (labeled_statement "LAB_00191453:\n            if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }" statement_identifier : (if_statement "if ((bVar23 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }" if (parenthesized_expression "((bVar23 & 7) != 2)" ( (binary_expression "(bVar23 & 7) != 2" (parenthesized_expression "(bVar23 & 7)" ( (binary_expression "bVar23 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",200,"output_segment");" (call_expression "do_gold_unreachable("../../gold/symtab.h",200,"output_segment")" identifier (argument_list "("../../gold/symtab.h",200,"output_segment")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_segment"" " string_content ") ))) ;) }))) (ERROR "pOVar20 = Output_segment::" (assignment_expression "pOVar20 = Output_segment" identifier = identifier) : :) (expression_statement "first_section((pSVar6->super_Symbol).u1_.output_segment);" (call_expression "first_section((pSVar6->super_Symbol).u1_.output_segment)" identifier (argument_list "((pSVar6->super_Symbol).u1_.output_segment)" ( (field_expression "(pSVar6->super_Symbol).u1_.output_segment" (field_expression "(pSVar6->super_Symbol).u1_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) ))) ;) (if_statement "if (pOVar20 == (Output_section *)0x0) goto _L2103;" if (parenthesized_expression "(pOVar20 == (Output_section *)0x0)" ( (binary_expression "pOVar20 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto _L2103;" goto statement_identifier ;)) (expression_statement "p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "p_Var10 = (pOVar20->super_Output_data)._vptr_Output_data[0xb]" identifier = (subscript_expression "(pOVar20->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar20->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar20->super_Output_data)" ( (field_expression "pOVar20->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var10 == Output_section::do_out_shndx) {\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }\n            else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }" if (parenthesized_expression "(p_Var10 == Output_section::do_out_shndx)" ( (binary_expression "p_Var10 == Output_section" identifier == identifier) (ERROR "::do_out_shndx" : : identifier) )) (compound_statement "{\n              local_54 = (_func_int_varargs **)pOVar20->out_shndx_;\n              if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }\n            }" { (expression_statement "local_54 = (_func_int_varargs **)pOVar20->out_shndx_;" (assignment_expression "local_54 = (_func_int_varargs **)pOVar20->out_shndx_" identifier = (cast_expression "(_func_int_varargs **)pOVar20->out_shndx_" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pOVar20->out_shndx_" identifier -> field_identifier))) ;) (if_statement "if (local_54 == (_func_int_varargs **)0xffffffff) {\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }" if (parenthesized_expression "(local_54 == (_func_int_varargs **)0xffffffff)" ( (binary_expression "local_54 == (_func_int_varargs **)0xffffffff" identifier == (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n              }" { (labeled_statement "LAB_00191d3b:\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");" (call_expression "do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx")" identifier (argument_list "("../../gold/output.h",0x1043,"do_out_shndx")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""do_out_shndx"" " string_content ") ))) ;)) })) }) (else_clause "else {\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }" else (compound_statement "{\n              local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);\n            }" { (expression_statement "local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20);" (assignment_expression "local_54 = (_func_int_varargs **)(*p_Var10)(pOVar20)" identifier = (cast_expression "(_func_int_varargs **)(*p_Var10)(pOVar20)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*p_Var10)(pOVar20)" (parenthesized_expression "(*p_Var10)" ( (pointer_expression "*p_Var10" * identifier) )) (argument_list "(pOVar20)" ( identifier ))))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 3:\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0xfff1;\n            break;" case number_literal : (expression_statement "local_50 = STB_GLOBAL;" (assignment_expression "local_50 = STB_GLOBAL" identifier = identifier) ;) (expression_statement "local_54 = (_func_int_varargs **)0xfff1;" (assignment_expression "local_54 = (_func_int_varargs **)0xfff1" identifier = (cast_expression "(_func_int_varargs **)0xfff1" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n                    /* WARNING: This code block may not be properly labeled as switch case */\n            local_50 = STB_GLOBAL;\n            local_54 = (_func_int_varargs **)0x0;\n            break;" case number_literal : comment (expression_statement "local_50 = STB_GLOBAL;" (assignment_expression "local_50 = STB_GLOBAL" identifier = identifier) ;) (expression_statement "local_54 = (_func_int_varargs **)0x0;" (assignment_expression "local_54 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "default:\nLAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");" default : (labeled_statement "LAB_00191b4c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xc9b,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xc9b,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;))) })) }))) (if_statement "if (pcVar8 != (pointer)0xffffffff) {\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }" if (parenthesized_expression "(pcVar8 != (pointer)0xffffffff)" ( (binary_expression "pcVar8 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar25 = (int)pcVar8 - uVar2;\n          if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);\n        }" { (expression_statement "uVar25 = (int)pcVar8 - uVar2;" (assignment_expression "uVar25 = (int)pcVar8 - uVar2" identifier = (binary_expression "(int)pcVar8 - uVar2" (cast_expression "(int)pcVar8" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (if_statement "if (uVar3 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }" if (parenthesized_expression "(uVar3 <= uVar25)" ( (binary_expression "uVar3 <= uVar25" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xca1,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xca1,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (expression_statement "sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18);" (comma_expression "sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18)" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_true>\n                    (this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18)" identifier > (parenthesized_expression "(this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18)" ( (comma_expression "this,pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18" identifier , (comma_expression "pSVar6,CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18" identifier , (comma_expression "CONCAT44(local_58,local_5c),(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18" (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier ))) , (comma_expression "(uint)local_54,local_50,sympool,\n                     local_7c + uVar25 * 0x18" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "local_50,sympool,\n                     local_7c + uVar25 * 0x18" identifier , (comma_expression "sympool,\n                     local_7c + uVar25 * 0x18" identifier , (binary_expression "local_7c + uVar25 * 0x18" identifier + (binary_expression "uVar25 * 0x18" identifier * number_literal)))))))) )))) ;) })) (if_statement "if (local_60 != (pointer)0xffffffff) {\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }" if (parenthesized_expression "(local_60 != (pointer)0xffffffff)" ( (binary_expression "local_60 != (pointer)0xffffffff" identifier != (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n          uVar25 = (int)local_60 - uVar4;\n          if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }\n          sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);\n          pTVar7 = parameters->target_;\n          if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;\n          if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }\n        }" { (expression_statement "uVar25 = (int)local_60 - uVar4;" (assignment_expression "uVar25 = (int)local_60 - uVar4" identifier = (binary_expression "(int)local_60 - uVar4" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (if_statement "if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }" if (parenthesized_expression "(uVar5 <= uVar25)" ( (binary_expression "uVar5 <= uVar25" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xcaa,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xcaa,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (expression_statement "sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18);" (comma_expression "sized_write_symbol<64,_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18)" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_true>\n                    (this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18)" identifier > (parenthesized_expression "(this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18)" ( (comma_expression "this,pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18" identifier , (comma_expression "pSVar6,CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18" identifier , (comma_expression "CONCAT44(iVar22,uVar19),(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18" (call_expression "CONCAT44(iVar22,uVar19)" identifier (argument_list "(iVar22,uVar19)" ( identifier , identifier ))) , (comma_expression "(uint)local_54,local_50,dynpool,\n                     local_48 + uVar25 * 0x18" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "local_50,dynpool,\n                     local_48 + uVar25 * 0x18" identifier , (comma_expression "dynpool,\n                     local_48 + uVar25 * 0x18" identifier , (binary_expression "local_48 + uVar25 * 0x18" identifier + (binary_expression "uVar25 * 0x18" identifier * number_literal)))))))) )))) ;) (expression_statement "pTVar7 = parameters->target_;" (assignment_expression "pTVar7 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar7 == (Target *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(pTVar7 == (Target *)0x0)" ( (binary_expression "pTVar7 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (if_statement "if (pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol) {\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }" if (parenthesized_expression "(pTVar7->_vptr_Target[0x27] != Target::do_adjust_dyn_symbol)" ( (binary_expression "pTVar7->_vptr_Target[0x27] != Target" (subscript_expression "pTVar7->_vptr_Target[0x27]" (field_expression "pTVar7->_vptr_Target" identifier -> field_identifier) [ number_literal ]) != identifier) (ERROR "::do_adjust_dyn_symbol" : : identifier) )) (compound_statement "{\n            (*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);\n          }" { (expression_statement "(*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18);" (call_expression "(*pTVar7->_vptr_Target[0x27])(pTVar7,pSVar6,local_48 + uVar25 * 0x18)" (parenthesized_expression "(*pTVar7->_vptr_Target[0x27])" ( (pointer_expression "*pTVar7->_vptr_Target[0x27]" * (subscript_expression "pTVar7->_vptr_Target[0x27]" (field_expression "pTVar7->_vptr_Target" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pTVar7,pSVar6,local_48 + uVar25 * 0x18)" ( identifier , identifier , (binary_expression "local_48 + uVar25 * 0x18" identifier + (binary_expression "uVar25 * 0x18" identifier * number_literal)) ))) ;) })) })) })) (expression_statement "local_4c = local_4c->_M_nxt;" (assignment_expression "local_4c = local_4c->_M_nxt" identifier = (field_expression "local_4c->_M_nxt" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(local_4c != (_Hash_node_base *)0x0)" ( (binary_expression "local_4c != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;" (field_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std" (assignment_expression "local_4c = (_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold" identifier = (binary_expression "(_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base<gold" (cast_expression "(_Hash_node_base *)\n             (this->target_symbols_).\n             super__Vector_base" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->target_symbols_).\n             super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_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 (local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }" if (parenthesized_expression "(local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish)" ( (field_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish" (field_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl" (binary_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "local_4c ==\n      (_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold" identifier == (binary_expression "(_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base<gold" (cast_expression "(_Hash_node_base *)\n      (this->target_symbols_).super__Vector_base" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->target_symbols_).super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_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) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pSVar6 = *(Sized_symbol<64> **)local_4c;" (assignment_expression "pSVar6 = *(Sized_symbol<64> **)local_4c" identifier = (pointer_expression "*(Sized_symbol<64> **)local_4c" * (parenthesized_expression "(Sized_symbol<64> **)local_4c" ( (binary_expression "Sized_symbol<64> **)local_4c" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "**)local_4c" * (pointer_expression "*)local_4c" * (ERROR ")" )) identifier))) )))) ;) (expression_statement "uVar19 = (pSVar6->super_Symbol).symtab_index_;" (assignment_expression "uVar19 = (pSVar6->super_Symbol).symtab_index_" identifier = (field_expression "(pSVar6->super_Symbol).symtab_index_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (while_statement "while (uVar19 != 0) {\n    local_4c = (_Hash_node_base *)((pointer)local_4c + 1);\n    if (local_48 == (uchar *)0x0) {\n      uVar25 = 0xffffffff;\n    }\n    else {\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }\n    bVar23 = (pSVar6->super_Symbol).field_0x2a & 7;\n    if (bVar23 == 3) {\n      shndx = 0xfff1;\n    }\n    else {\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }\n    if (uVar19 != 0xffffffff) {\n      uVar19 = uVar19 - uVar2;\n      if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);\n    }\n    if (uVar25 != 0xffffffff) {\n      uVar25 = uVar25 - uVar4;\n      if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);\n    }\n    if ((_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c) {\n      return;\n    }\n    pSVar6 = *(Sized_symbol<64> **)local_4c;\n    uVar19 = (pSVar6->super_Symbol).symtab_index_;\n  }" while (parenthesized_expression "(uVar19 != 0)" ( (binary_expression "uVar19 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = (_Hash_node_base *)((pointer)local_4c + 1);\n    if (local_48 == (uchar *)0x0) {\n      uVar25 = 0xffffffff;\n    }\n    else {\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }\n    bVar23 = (pSVar6->super_Symbol).field_0x2a & 7;\n    if (bVar23 == 3) {\n      shndx = 0xfff1;\n    }\n    else {\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }\n    if (uVar19 != 0xffffffff) {\n      uVar19 = uVar19 - uVar2;\n      if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);\n    }\n    if (uVar25 != 0xffffffff) {\n      uVar25 = uVar25 - uVar4;\n      if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);\n    }\n    if ((_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c) {\n      return;\n    }\n    pSVar6 = *(Sized_symbol<64> **)local_4c;\n    uVar19 = (pSVar6->super_Symbol).symtab_index_;\n  }" { (expression_statement "local_4c = (_Hash_node_base *)((pointer)local_4c + 1);" (assignment_expression "local_4c = (_Hash_node_base *)((pointer)local_4c + 1)" identifier = (cast_expression "(_Hash_node_base *)((pointer)local_4c + 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pointer)local_4c + 1)" ( (binary_expression "(pointer)local_4c + 1" (cast_expression "(pointer)local_4c" ( (type_descriptor "pointer" type_identifier) ) identifier) + number_literal) )))) ;) (if_statement "if (local_48 == (uchar *)0x0) {\n      uVar25 = 0xffffffff;\n    }\n    else {\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }" if (parenthesized_expression "(local_48 == (uchar *)0x0)" ( (binary_expression "local_48 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar25 = 0xffffffff;\n    }" { (expression_statement "uVar25 = 0xffffffff;" (assignment_expression "uVar25 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }" else (compound_statement "{\n      uVar25 = (pSVar6->super_Symbol).dynsym_index_;\n      if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }\n    }" { (expression_statement "uVar25 = (pSVar6->super_Symbol).dynsym_index_;" (assignment_expression "uVar25 = (pSVar6->super_Symbol).dynsym_index_" identifier = (field_expression "(pSVar6->super_Symbol).dynsym_index_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar25 == 0) {\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n      }" { (labeled_statement "LAB_00191b2e:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x19a,"dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""dynsym_index"" " string_content ") ))) ;)) })) }))) (expression_statement "bVar23 = (pSVar6->super_Symbol).field_0x2a & 7;" (assignment_expression "bVar23 = (pSVar6->super_Symbol).field_0x2a & 7" identifier = (binary_expression "(pSVar6->super_Symbol).field_0x2a & 7" (field_expression "(pSVar6->super_Symbol).field_0x2a" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal)) ;) (if_statement "if (bVar23 == 3) {\n      shndx = 0xfff1;\n    }\n    else {\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }" if (parenthesized_expression "(bVar23 == 3)" ( (binary_expression "bVar23 == 3" identifier == number_literal) )) (compound_statement "{\n      shndx = 0xfff1;\n    }" { (expression_statement "shndx = 0xfff1;" (assignment_expression "shndx = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }" else (compound_statement "{\n      if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }\n      shndx = 0;\n    }" { (if_statement "if (bVar23 != 4) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }" if (parenthesized_expression "(bVar23 != 4)" ( (binary_expression "bVar23 != 4" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xccb,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xccb,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (expression_statement "shndx = 0;" (assignment_expression "shndx = 0" identifier = number_literal) ;) }))) (if_statement "if (uVar19 != 0xffffffff) {\n      uVar19 = uVar19 - uVar2;\n      if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);\n    }" if (parenthesized_expression "(uVar19 != 0xffffffff)" ( (binary_expression "uVar19 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n      uVar19 = uVar19 - uVar2;\n      if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);\n    }" { (expression_statement "uVar19 = uVar19 - uVar2;" (assignment_expression "uVar19 = uVar19 - uVar2" identifier = (binary_expression "uVar19 - uVar2" identifier - identifier)) ;) (if_statement "if (uVar3 <= uVar19) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }" if (parenthesized_expression "(uVar3 <= uVar19)" ( (binary_expression "uVar3 <= uVar19" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xcd1,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xcd1,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (expression_statement "sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18);" (comma_expression "sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18)" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18)" identifier > (parenthesized_expression "(this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18)" ( (comma_expression "this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18" identifier , (comma_expression "pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18" identifier , (comma_expression "pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18" (field_expression "pSVar6->value_" identifier -> field_identifier) , (comma_expression "shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18" identifier , (comma_expression "(uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,\n                 local_7c + uVar19 * 0x18" (call_expression "(uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x28 >> 4" (field_expression "(byte)(pSVar6->super_Symbol).field_0x28" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) ))) , (comma_expression "sympool,\n                 local_7c + uVar19 * 0x18" identifier , (binary_expression "local_7c + uVar19 * 0x18" identifier + (binary_expression "uVar19 * 0x18" identifier * number_literal)))))))) )))) ;) })) (if_statement "if (uVar25 != 0xffffffff) {\n      uVar25 = uVar25 - uVar4;\n      if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);\n    }" if (parenthesized_expression "(uVar25 != 0xffffffff)" ( (binary_expression "uVar25 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n      uVar25 = uVar25 - uVar4;\n      if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }\n      sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);\n    }" { (expression_statement "uVar25 = uVar25 - uVar4;" (assignment_expression "uVar25 = uVar25 - uVar4" identifier = (binary_expression "uVar25 - uVar4" identifier - identifier)) ;) (if_statement "if (uVar5 <= uVar25) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }" if (parenthesized_expression "(uVar5 <= uVar25)" ( (binary_expression "uVar5 <= uVar25" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xcdb,"sized_write_globals")" identifier (argument_list "("../../gold/symtab.cc",0xcdb,"sized_write_globals")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_globals"" " string_content ") ))) ;) })) (expression_statement "sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18);" (comma_expression "sized_write_symbol<64,_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18)" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_true>\n                (this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18)" identifier > (parenthesized_expression "(this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18)" ( (comma_expression "this,pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18" identifier , (comma_expression "pSVar6,pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18" identifier , (comma_expression "pSVar6->value_,shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18" (field_expression "pSVar6->value_" identifier -> field_identifier) , (comma_expression "shndx,\n                 (uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18" identifier , (comma_expression "(uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,\n                 local_48 + uVar25 * 0x18" (call_expression "(uint)((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)(pSVar6->super_Symbol).field_0x28 >> 4)" ( (binary_expression "(byte)(pSVar6->super_Symbol).field_0x28 >> 4" (field_expression "(byte)(pSVar6->super_Symbol).field_0x28" (call_expression "(byte)(pSVar6->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) ))) , (comma_expression "dynpool,\n                 local_48 + uVar25 * 0x18" identifier , (binary_expression "local_48 + uVar25 * 0x18" identifier + (binary_expression "uVar25 * 0x18" identifier * number_literal)))))))) )))) ;) })) (if_statement "if ((_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c) {\n      return;\n    }" if (parenthesized_expression "((_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c)" ( (binary_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish == local_4c" (field_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl._M_finish" (field_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n        _M_impl" (binary_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base<gold" (cast_expression "(_Hash_node_base *)\n        (this->target_symbols_).super__Vector_base" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(this->target_symbols_).super__Vector_base" (parenthesized_expression "(this->target_symbols_)" ( (field_expression "this->target_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) == identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "pSVar6 = *(Sized_symbol<64> **)local_4c;" (assignment_expression "pSVar6 = *(Sized_symbol<64> **)local_4c" identifier = (pointer_expression "*(Sized_symbol<64> **)local_4c" * (parenthesized_expression "(Sized_symbol<64> **)local_4c" ( (binary_expression "Sized_symbol<64> **)local_4c" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "**)local_4c" * (pointer_expression "*)local_4c" * (ERROR ")" )) identifier))) )))) ;) (expression_statement "uVar19 = (pSVar6->super_Symbol).symtab_index_;" (assignment_expression "uVar19 = (pSVar6->super_Symbol).symtab_index_" identifier = (field_expression "(pSVar6->super_Symbol).symtab_index_" (parenthesized_expression "(pSVar6->super_Symbol)" ( (field_expression "pSVar6->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) })) (labeled_statement "LAB_00191b10:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;)) (ERROR "}" }))
(translation_unit "void FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}\n\n" (function_definition "void FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" primitive_type (function_declarator "FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "int param_6" primitive_type identifier) ))) (compound_statement "{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "int in_ECX;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "undefined8 uVar20;" type_identifier identifier ;) (declaration "int aiStackY_b4 [2];" primitive_type (array_declarator "aiStackY_b4 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_9c [12];" type_identifier (array_declarator "auStack_9c [12]" identifier [ number_literal ]) ;) (declaration "int *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined **ppuStack_88;" type_identifier (pointer_declarator "**ppuStack_88" * (pointer_declarator "*ppuStack_88" * identifier)) ;) (declaration "undefined8 uStack_84;" type_identifier identifier ;) (declaration "int local_7c;" primitive_type identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "code *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "undefined **local_54;" type_identifier (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "int *piStack_44;" primitive_type (pointer_declarator "*piStack_44" * identifier) ;) (declaration "undefined **ppuStack_40;" type_identifier (pointer_declarator "**ppuStack_40" * (pointer_declarator "*ppuStack_40" * identifier)) ;) (declaration "code *pcStack_34;" type_identifier (pointer_declarator "*pcStack_34" * identifier) ;) (declaration "undefined **ppuStack_30;" type_identifier (pointer_declarator "**ppuStack_30" * (pointer_declarator "*ppuStack_30" * identifier)) ;) (declaration "undefined1 auStack_2c [28];" type_identifier (array_declarator "auStack_2c [28]" identifier [ number_literal ]) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "local_64 = &__DT_PLTGOT;" (assignment_expression "local_64 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (expression_statement "local_68 = &DAT_003aa3e8;" (assignment_expression "local_68 = &DAT_003aa3e8" identifier = (pointer_expression "&DAT_003aa3e8" & identifier)) ;) (expression_statement "local_90 = *(int **)(DAT_003aa3e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_003aa3e8 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_003aa3e8 + 0xc)" * (cast_expression "(int **)(DAT_003aa3e8 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_003aa3e8 + 0xc)" ( (binary_expression "DAT_003aa3e8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" if (parenthesized_expression "(local_90 == (int *)0x0)" ( (binary_expression "local_90 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" { (labeled_statement "LAB_00191bd3:\n    ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de5c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191bee" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_70 = *(int *)(param_1 + 4);" (assignment_expression "local_70 = *(int *)(param_1 + 4)" identifier = (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_6c = *(uint *)(param_1 + 0x10);" (assignment_expression "local_6c = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar15 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" identifier = (pointer_expression "*(uint *)(param_1 + 8)" * (cast_expression "(uint *)(param_1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" if (parenthesized_expression "((local_6c == 0) || (uVar8 == 0 && iVar15 == 0))" ( (binary_expression "(local_6c == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" ( (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" identifier == number_literal) && (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_7c = 0;\n  }" { (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" else (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" { (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;" if (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" ( (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" identifier = (binary_expression "iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" identifier + (cast_expression "(uint)CARRY4(local_6c * 0x18,uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_6c * 0x18,uVar8)" identifier (argument_list "(local_6c * 0x18,uVar8)" ( (binary_expression "local_6c * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" ( (binary_expression "*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" * (cast_expression "(uint *)(param_6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) < (binary_expression "local_6c * 0x18 + uVar8" (binary_expression "local_6c * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" identifier = (binary_expression "iVar10 - uVar2" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar15)" ( (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar10,uVar2)" identifier (argument_list "(iVar10,uVar2)" ( identifier , identifier )))) )) != (binary_expression "in_ECX < 0" identifier < number_literal)))))) ))) )) (goto_statement "goto LAB_00191ca6;" goto statement_identifier ;)) (expression_statement "local_7c = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_7c = *(int *)(param_6 + 0x10) + uVar8" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" * (cast_expression "(int *)(param_6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) + identifier)) ;) }))) (expression_statement "local_78 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_78 = *(int *)(param_1 + 0x1c)" identifier = (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_74 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_74 = *(uint *)(param_1 + 0x20)" identifier = (pointer_expression "*(uint *)(param_1 + 0x20)" * (cast_expression "(uint *)(param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar15 = *(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) ))))) ;) (expression_statement "uVar8 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14)" identifier = (pointer_expression "*(uint *)(param_1 + 0x14)" * (cast_expression "(uint *)(param_1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" if (parenthesized_expression "((local_74 == 0) || (uVar8 == 0 && iVar15 == 0))" ( (binary_expression "(local_74 == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" ( (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" identifier == number_literal) && (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_48 = 0;\n  }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" else (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" { (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" if (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" ( (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" ( (binary_expression "iVar15 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" ( (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" identifier = (binary_expression "iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" identifier + (cast_expression "(uint)CARRY4(local_74 * 0x18,uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_74 * 0x18,uVar8)" identifier (argument_list "(local_74 * 0x18,uVar8)" ( (binary_expression "local_74 * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" ( (binary_expression "*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" * (cast_expression "(uint *)(param_6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 8)" ( (binary_expression "param_6 + 8" identifier + number_literal) )))) < (binary_expression "local_74 * 0x18 + uVar8" (binary_expression "local_74 * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) - identifier)) , (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" identifier = (binary_expression "iVar10 - uVar2" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar15)" ( (pointer_expression "*(int *)(param_6 + 0xc)" * (cast_expression "(int *)(param_6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0xc)" ( (binary_expression "param_6 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar10,uVar2)" identifier (argument_list "(iVar10,uVar2)" ( identifier , identifier )))) )) != (binary_expression "in_ECX < 0" identifier < number_literal)))))) ))) )) (compound_statement "{\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" statement_identifier : (expression_statement "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX)" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view",in_ECX)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") , identifier ))) ;)) })) (expression_statement "local_48 = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_48 = *(int *)(param_6 + 0x10) + uVar8" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" * (cast_expression "(int *)(param_6 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_6 + 0x10)" ( (binary_expression "param_6 + 0x10" identifier + number_literal) )))) + identifier)) ;) }))) (expression_statement "local_4c = *(int **)(param_1 + 0x2c);" (assignment_expression "local_4c = *(int **)(param_1 + 0x2c)" identifier = (pointer_expression "*(int **)(param_1 + 0x2c)" * (cast_expression "(int **)(param_1 + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (if_statement "if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" if (parenthesized_expression "(local_4c != (int *)0x0)" ( (binary_expression "local_4c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" { (expression_statement "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_002b1dd0)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_002b1dd0" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + identifier) )))) ;) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" identifier = identifier) ;) (do_statement "do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);" do (compound_statement "{\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    }" { (expression_statement "iVar15 = local_4c[3];" (assignment_expression "iVar15 = local_4c[3]" identifier = (subscript_expression "local_4c[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2))" ( (binary_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0))" ( (binary_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" ( (comma_expression "iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) , (binary_expression "(*(byte *)(iVar10 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 1)" ( (binary_expression "*(byte *)(iVar10 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x2c)" * (cast_expression "(byte *)(iVar10 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar15 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar15 + 0xc) == 0" (pointer_expression "*(int *)(iVar15 + 0xc)" * (cast_expression "(int *)(iVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(byte *)(iVar15 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar15 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" { (expression_statement "iVar18 = *(int *)(*local_68 + 8);" (assignment_expression "iVar18 = *(int *)(*local_68 + 8)" identifier = (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) goto LAB_00191b7c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(iVar18 + 0x1fd) == '\0')" ( (binary_expression "*(char *)(iVar18 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar18 + 0x1fd)" * (cast_expression "(char *)(iVar18 + 0x1fd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0x1fd)" ( (binary_expression "iVar18 + 0x1fd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" { (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" identifier = (pointer_expression "*(int **)(*local_68 + 0xc)" * (cast_expression "(int **)(*local_68 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 0xc)" ( (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x1c)" * (cast_expression "(undefined ***)(*piVar9 + 0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x1c)" ( (binary_expression "*piVar9 + 0x1c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xd3ce8)" ( (binary_expression "ppuVar11 != local_64 + -0xd3ce8" identifier != (binary_expression "local_64 + -0xd3ce8" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" { (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = (*(code *)ppuVar11)();" (assignment_expression "cVar6 = (*(code *)ppuVar11)()" identifier = (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (cVar6 != '\0') goto LAB_00191160;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00191160;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001919e8;" goto statement_identifier ;)) (expression_statement "iVar10 = *(int *)(iVar15 + 8);" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" identifier = (pointer_expression "*(int *)(iVar15 + 8)" * (cast_expression "(int *)(iVar15 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" if (parenthesized_expression "((*(byte *)(iVar10 + 0x2c) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 0x20)" ( (binary_expression "*(byte *)(iVar10 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar10 + 0x2c)" * (cast_expression "(byte *)(iVar10 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" { (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "(*(int *)(iVar10 + 0x5c) == 0)" ( (binary_expression "*(int *)(iVar10 + 0x5c) == 0" (pointer_expression "*(int *)(iVar10 + 0x5c)" * (cast_expression "(int *)(iVar10 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df7b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x3e" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10a0b5" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d3b" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(*(int *)(iVar10 + 0x5c) != 1)" ( (binary_expression "*(int *)(iVar10 + 0x5c) != 1" (pointer_expression "*(int *)(iVar10 + 0x5c)" * (cast_expression "(int *)(iVar10 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x5c)" ( (binary_expression "iVar10 + 0x5c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" { (expression_statement "*(int *)(puVar17 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191966;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191966" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00071e80();" (call_expression "FUN_00071e80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) })) (labeled_statement "LAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" statement_identifier : (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "pcVar1 = *(code **)(iVar15 + 0x10);" (assignment_expression "pcVar1 = *(code **)(iVar15 + 0x10)" identifier = (pointer_expression "*(code **)(iVar15 + 0x10)" * (cast_expression "(code **)(iVar15 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (pcVar1 == (code *)0x0) goto LAB_00191b10;" if (parenthesized_expression "(pcVar1 == (code *)0x0)" ( (binary_expression "pcVar1 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b10;" goto statement_identifier ;)) (if_statement "if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }" { (expression_statement "local_60 = (code *)0xffffffff;" (assignment_expression "local_60 = (code *)0xffffffff" identifier = (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = pcVar1;" (assignment_expression "pcVar7 = pcVar1" identifier = identifier) ;) }) (else_clause "else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" else (compound_statement "{\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" { (expression_statement "local_60 = *(code **)(iVar15 + 0x14);" (assignment_expression "local_60 = *(code **)(iVar15 + 0x14)" identifier = (pointer_expression "*(code **)(iVar15 + 0x14)" * (cast_expression "(code **)(iVar15 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_60 == (code *)0x0) goto LAB_00191b2e;" if (parenthesized_expression "(local_60 == (code *)0x0)" ( (binary_expression "local_60 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191b2e;" goto statement_identifier ;)) (expression_statement "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);" (assignment_expression "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1)" identifier = (cast_expression "(code *)((uint)local_60 & (uint)pcVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_60 & (uint)pcVar1)" ( (binary_expression "(uint)local_60 & (uint)pcVar1" (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)pcVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" if (parenthesized_expression "(pcVar7 != (code *)0xffffffff)" ( (binary_expression "pcVar7 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" { (expression_statement "piVar9 = (int *)(iVar15 + 0x30);" (assignment_expression "piVar9 = (int *)(iVar15 + 0x30)" identifier = (cast_expression "(int *)(iVar15 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) )))) ;) (expression_statement "local_5c = (undefined *)*piVar9;" (assignment_expression "local_5c = (undefined *)*piVar9" identifier = (cast_expression "(undefined *)*piVar9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "local_58 = *(int *)(iVar15 + 0x34);" (assignment_expression "local_58 = *(int *)(iVar15 + 0x34)" identifier = (pointer_expression "*(int *)(iVar15 + 0x34)" * (cast_expression "(int *)(iVar15 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" identifier = (pointer_expression "*(undefined8 *)piVar9" * (cast_expression "(undefined8 *)piVar9" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4)" identifier = (call_expression "(uint)(*(byte *)(iVar15 + 0x28) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(iVar15 + 0x28) >> 4)" ( (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "iVar10 = *(int *)(*local_68 + 8);" (assignment_expression "iVar10 = *(int *)(*local_68 + 8)" identifier = (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_00191b7c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = bVar13 & 7;" (assignment_expression "uVar8 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (expression_statement "bVar14 = (byte)uVar8;" (assignment_expression "bVar14 = (byte)uVar8" identifier = (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" if (parenthesized_expression "((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1))" ( (binary_expression "(*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar10 + 0x49b1) != '\0')" ( (binary_expression "*(char *)(iVar10 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x49b1)" * (cast_expression "(char *)(iVar10 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x49b1)" ( (binary_expression "iVar10 + 0x49b1" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_50 == 1)" ( (binary_expression "local_50 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" { (if_statement "if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }" { (expression_statement "local_54 = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "local_54 = *(undefined ***)(iVar15 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar15 + 0xc)" * (cast_expression "(undefined ***)(iVar15 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" if (parenthesized_expression "((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0))" ( (binary_expression "(local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_54 == (undefined **)0x0)" ( (binary_expression "local_54 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1)" ( (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" { (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e07d])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e07d])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e07d])" ( (binary_expression "(int)local_64 + (int)local_64[-0x3e07d]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x3e07d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x3e07d]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*local_8c)();" (call_expression "(*local_8c)()" (parenthesized_expression "(*local_8c)" ( (pointer_expression "*local_8c" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (compound_statement "{\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" { (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e083])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e083])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e083])" ( (binary_expression "(int)local_64 + (int)local_64[-0x3e083]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x3e083]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x3e083]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar14) goto LAB_00191b4c;" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (goto_statement "goto LAB_00191b4c;" goto statement_identifier ;)) (switch_statement "switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" switch (parenthesized_expression "(local_64[uVar8 - 0x3e082] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x3e082] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e082]" identifier [ (binary_expression "uVar8 - 0x3e082" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" { (case_statement "case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" case (cast_expression "(undefined *)0x191610" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" identifier = (pointer_expression "*(undefined8 *)piVar9" * (cast_expression "(undefined8 *)piVar9" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x191630" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;" case (cast_expression "(undefined *)0x191840" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x001914e3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;" case (cast_expression "(undefined *)0x191850" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (goto_statement "goto code_r0x00191453;" goto statement_identifier ;)) (case_statement "case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();" case (cast_expression "(undefined *)0x191c48" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de56" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191c66" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_00191288;" goto statement_identifier ;) })) (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" identifier = identifier) ;) (if_statement "if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }" if (parenthesized_expression "((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'))" ( (binary_expression "(local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) && (parenthesized_expression "(uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" ( (comma_expression "uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'" (assignment_expression "uVar2 = 1" identifier = number_literal) , (binary_expression "*(char *)(iVar10 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x19a9)" * (cast_expression "(char *)(iVar10 + 0x19a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x19a9)" ( (binary_expression "iVar10 + 0x19a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar2 = local_50;\n        }" { (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar2;" (assignment_expression "local_50 = uVar2" identifier = identifier) ;) (if_statement "if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (compound_statement "{\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" { (labeled_statement "LAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc9b" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191b6a" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" switch (parenthesized_expression "(local_64[uVar8 - 0x3e091] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x3e091] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e091]" identifier [ (binary_expression "uVar8 - 0x3e091" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" { (case_statement "case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x191210" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar13 & 7) != 0) goto code_r0x00191c48;" if (parenthesized_expression "((bVar13 & 7) != 0)" ( (binary_expression "(bVar13 & 7) != 0" (parenthesized_expression "(bVar13 & 7)" ( (binary_expression "bVar13 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x00191c48;" goto statement_identifier ;)) (expression_statement "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(iVar15 + 0xc)" * (cast_expression "(undefined ***)(iVar15 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;" (assignment_expression "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5" identifier = (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar13 = bVar14 & 1;" (assignment_expression "bVar13 = bVar14 & 1" identifier = (binary_expression "bVar14 & 1" identifier & number_literal)) ;) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" if (parenthesized_expression "(((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1))" ( (binary_expression "((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)" (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" ( (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(bVar13 != 1)" ( (binary_expression "bVar13 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);" (assignment_expression "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" identifier = (cast_expression "(undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" ( (binary_expression "CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01" (call_expression "CONCAT31(ppuStack_88._1_3_,bVar14)" identifier (argument_list "(ppuStack_88._1_3_,bVar14)" ( (field_expression "ppuStack_88._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191882;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191882" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" identifier = (call_expression "FUN_00188890()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" { (expression_statement "ppuStack_88 = (undefined **)uStack_84;" (assignment_expression "ppuStack_88 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1918f0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1918f0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00189b80();" (call_expression "FUN_00189b80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uStack_84._0_4_ = (undefined **)pcStack_34;" (assignment_expression "uStack_84._0_4_ = (undefined **)pcStack_34" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)pcStack_34" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3e0e5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19190a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19190a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = gettext();" (assignment_expression "uVar12 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = ppuStack_88;" (assignment_expression "*(undefined ***)(puVar17 + -8) = ppuStack_88" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191921;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191921" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00071a80();" (call_expression "FUN_00071a80()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" if (parenthesized_expression "(pcStack_34 != (code *)auStack_2c)" ( (binary_expression "pcStack_34 != (code *)auStack_2c" identifier != (cast_expression "(code *)auStack_2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" { (expression_statement "*(code **)(puVar17 + -0x10) = pcStack_34;" (assignment_expression "*(code **)(puVar17 + -0x10) = pcStack_34" (pointer_expression "*(code **)(puVar17 + -0x10)" * (cast_expression "(code **)(puVar17 + -0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19193e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19193e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001fd020();" (call_expression "FUN_001fd020()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "bVar13 = (byte)ppuStack_88;" (assignment_expression "bVar13 = (byte)ppuStack_88" identifier = (cast_expression "(byte)ppuStack_88" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" { (labeled_statement "LAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de5e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xa1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191a06" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" identifier = (pointer_expression "*(int **)(iVar15 + 8)" * (cast_expression "(int **)(iVar15 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "((*(byte *)(piVar9 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar9 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar9 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar9 + 0xb) & 1" (pointer_expression "*(byte *)(piVar9 + 0xb)" * (cast_expression "(byte *)(piVar9 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0xb)" ( (binary_expression "piVar9 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }" { (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);" (assignment_expression "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" identifier = (cast_expression "(undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(ppuStack_88._1_3_,bVar13)" identifier (argument_list "(ppuStack_88._1_3_,bVar13)" ( (field_expression "ppuStack_88._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" identifier = (pointer_expression "*(code **)(iVar10 + 0x14)" * (cast_expression "(code **)(iVar10 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191672;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191672" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (if_statement "if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;" if (parenthesized_expression "(((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0))" ( (binary_expression "((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)" (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001914b0;" goto statement_identifier ;)) (if_statement "if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" if (parenthesized_expression "((byte)ppuStack_88 == '\0')" ( (binary_expression "(byte)ppuStack_88 == '\0'" (cast_expression "(byte)ppuStack_88" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }" { (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" if (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" ( (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" identifier = (call_expression "FUN_00188890()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (cVar6 == '\0') goto LAB_001916bf;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001916bf;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" else (compound_statement "{\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" { (labeled_statement "LAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" statement_identifier : (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x60)" * (cast_expression "(undefined ***)(*piVar9 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x60)" ( (binary_expression "*piVar9 + 0x60" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;)) (expression_statement "ppuStack_88 = local_64 + -0xd3a08;" (assignment_expression "ppuStack_88 = local_64 + -0xd3a08" identifier = (binary_expression "local_64 + -0xd3a08" identifier + number_literal)) ;) (if_statement "if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == ppuStack_88)" ( (binary_expression "ppuVar11 == ppuStack_88" identifier == identifier) )) (compound_statement "{\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }" { (expression_statement "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" identifier = (cast_expression "(undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar9[0xf] - piVar9[0xe] >> 2)" ( (binary_expression "piVar9[0xf] - piVar9[0xe] >> 2" (binary_expression "piVar9[0xf] - piVar9[0xe]" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar9[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;" if (parenthesized_expression "(ppuVar11 <= (undefined **)uStack_84)" ( (binary_expression "ppuVar11 <= (undefined **)uStack_84" identifier <= (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) (goto_statement "goto LAB_00191d06;" goto statement_identifier ;)) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" * (cast_expression "(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" ( (binary_expression "piVar9[0xe] + (int)(undefined **)uStack_84 * 4" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) + (binary_expression "(int)(undefined **)uStack_84 * 4" (cast_expression "(int)(undefined **)uStack_84" ( (type_descriptor "int" primitive_type) ) (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) * number_literal)) ))))) ;) }) (else_clause "else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" { (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" identifier = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_1" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191704;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191704" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00188c90();" (assignment_expression "cVar6 = FUN_00188c90()" identifier = (call_expression "FUN_00188c90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" * (cast_expression "(undefined ***)(puVar17 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc59" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" * (cast_expression "(undefined ***)(puVar17 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -8) = piVar9;" (assignment_expression "*(int **)(puVar17 + -8) = piVar9" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" * (cast_expression "(undefined4 *)(param_1 + 0x15c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x15c)" ( (binary_expression "param_1 + 0x15c" identifier + number_literal) ))))) ;) (expression_statement "*(int ***)(puVar17 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar17 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar17 + -0x10)" * (cast_expression "(int ***)(puVar17 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&piStack_44" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191a33;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191a33" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007e180();" (call_expression "FUN_0007e180()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(piStack_44 == (int *)0x0)" ( (binary_expression "piStack_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00191c82" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piStack_44 + 0x60)" * (cast_expression "(undefined ***)(*piStack_44 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piStack_44 + 0x60)" ( (binary_expression "*piStack_44 + 0x60" (pointer_expression "*piStack_44" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" if (parenthesized_expression "(ppuVar11 == ppuStack_88)" ( (binary_expression "ppuVar11 == ppuStack_88" identifier == identifier) )) (compound_statement "{\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }" { (expression_statement "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" identifier = (cast_expression "(undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piStack_44[0xf] - piStack_44[0xe] >> 2)" ( (binary_expression "piStack_44[0xf] - piStack_44[0xe] >> 2" (binary_expression "piStack_44[0xf] - piStack_44[0xe]" (subscript_expression "piStack_44[0xf]" identifier [ number_literal ]) - (subscript_expression "piStack_44[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" if (parenthesized_expression "(ppuVar11 <= ppuStack_40)" ( (binary_expression "ppuVar11 <= ppuStack_40" identifier <= identifier) )) (compound_statement "{\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" { (labeled_statement "LAB_00191d06:\n                    ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -4) = ppuVar11;" (assignment_expression "*(undefined ***)(puVar16 + -4) = ppuVar11" (pointer_expression "*(undefined ***)(puVar16 + -4)" * (cast_expression "(undefined ***)(puVar16 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71" (pointer_expression "*(undefined ***)(puVar16 + -8)" * (cast_expression "(undefined ***)(puVar16 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "ppuVar5 + -0x3de71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar5 + -0x10ec7b" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x191d22;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x191d22" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" * (cast_expression "(undefined4 *)(puVar16 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (pointer_expression "*(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" * (cast_expression "(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piStack_44[0xe] + (int)ppuStack_40 * 4)" ( (binary_expression "piStack_44[0xe] + (int)ppuStack_40 * 4" (subscript_expression "piStack_44[0xe]" identifier [ number_literal ]) + (binary_expression "(int)ppuStack_40 * 4" (cast_expression "(int)ppuStack_40" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" else (compound_statement "{\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuStack_40;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuStack_40" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar17 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x191b71;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x191b71" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" identifier . field_identifier) = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" ( (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" { (expression_statement "*(int *)(puVar17 + -8) = iVar15;" (assignment_expression "*(int *)(puVar17 + -8) = iVar15" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" * (cast_expression "(undefined ***)(puVar17 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_00191a95" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) (expression_statement "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*(undefined **)uStack_84 + 0x2c)" * (cast_expression "(undefined ***)(*(undefined **)uStack_84 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*(undefined **)uStack_84 + 0x2c)" ( (binary_expression "*(undefined **)uStack_84 + 0x2c" (pointer_expression "*(undefined **)uStack_84" * (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" ( (binary_expression "ppuVar11 == local_64 + -0xc8ef8" identifier == (binary_expression "local_64 + -0xc8ef8" identifier + number_literal)) )) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }" { (expression_statement "local_54 = (undefined **)((undefined **)uStack_84)[0x18];" (assignment_expression "local_54 = (undefined **)((undefined **)uStack_84)[0x18]" identifier = (cast_expression "(undefined **)((undefined **)uStack_84)[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "((undefined **)uStack_84)[0x18]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) ;) (if_statement "if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" ( (binary_expression "local_54 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" { (labeled_statement "LAB_00191d3b:\n                  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x1043" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d59" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" { (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191aac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191aac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (if_statement "if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" if (parenthesized_expression "((undefined **)0xfeff < local_54)" ( (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" { (if_statement "if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" { (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19176d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19176d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" if (parenthesized_expression "(local_60 == (code *)0xffffffff)" ( (binary_expression "local_60 == (code *)0xffffffff" identifier == (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_54 = (undefined **)0xffff;\n                }" { (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" else (compound_statement "{\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" { (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191798;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191798" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier = (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" identifier (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" ( (field_expression "uStack_84._4_4_" identifier . field_identifier) , (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar3 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar3 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" if (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" ( (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" { (labeled_statement "LAB_00191b7c:\n                ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3de4e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b97;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b97" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" if (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" { (if_statement "if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" if (parenthesized_expression "(((uint)((undefined **)uStack_84)[7] & 1) == 0)" ( (binary_expression "((uint)((undefined **)uStack_84)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined **)uStack_84)[7] & 1)" ( (binary_expression "(uint)((undefined **)uStack_84)[7] & 1" (subscript_expression "(uint)((undefined **)uStack_84)[7]" (call_expression "(uint)((undefined **)uStack_84)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) ))) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" { (labeled_statement "LAB_00191c88:\n                  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df47" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar19 = local_5c < ((undefined **)uStack_84)[1];" (assignment_expression "bVar19 = local_5c < ((undefined **)uStack_84)[1]" identifier = (binary_expression "local_5c < ((undefined **)uStack_84)[1]" identifier < (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) ;) (expression_statement "local_5c = local_5c + -(int)((undefined **)uStack_84)[1];" (assignment_expression "local_5c = local_5c + -(int)((undefined **)uStack_84)[1]" identifier = (binary_expression "local_5c + -(int)((undefined **)uStack_84)[1]" identifier + (unary_expression "-(int)((undefined **)uStack_84)[1]" - (cast_expression "(int)((undefined **)uStack_84)[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))))) ;) (expression_statement "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" identifier = (binary_expression "(local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" (parenthesized_expression "(local_58 - (int)((undefined **)uStack_84)[2])" ( (binary_expression "local_58 - (int)((undefined **)uStack_84)[2]" identifier - (cast_expression "(int)((undefined **)uStack_84)[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((undefined **)uStack_84)[2]" (parenthesized_expression "((undefined **)uStack_84)" ( (cast_expression "(undefined **)uStack_84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) )) [ number_literal ]))) )) - (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "uVar20 = uVar3;" (assignment_expression "uVar20 = uVar3" identifier = identifier) ;) })) }))) }) (else_clause "else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" else (compound_statement "{\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" { (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" if (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) & 2)" ( (binary_expression "*(byte *)(iVar15 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar15 + 0x2b)" * (cast_expression "(byte *)(iVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2b)" ( (binary_expression "iVar15 + 0x2b" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" { (expression_statement "iVar10 = *local_90;" (assignment_expression "iVar10 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = local_90;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_90" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" identifier = (pointer_expression "*(code **)(iVar10 + 0x14)" * (cast_expression "(code **)(iVar10 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x14)" ( (binary_expression "iVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191265;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191265" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar20 = (*pcVar7)();" (assignment_expression "uVar20 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) })) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1)" ( (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar15 + 0x2c)" * (cast_expression "(byte *)(iVar15 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2c)" ( (binary_expression "iVar15 + 0x2c" identifier + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x191450" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" statement_identifier : (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(bVar14 != 2)" ( (binary_expression "bVar14 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df53" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 200" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191aee" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 8)" * (cast_expression "(undefined4 *)(iVar15 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019146a" & identifier)) ;) (expression_statement "piVar9 = (int *)FUN_00104a70();" (assignment_expression "piVar9 = (int *)FUN_00104a70()" identifier = (cast_expression "(int *)FUN_00104a70()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104a70()" identifier (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (piVar9 == (int *)0x0) goto code_r0x001914c8;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x001914c8;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x2c)" * (cast_expression "(undefined ***)(*piVar9 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x2c)" ( (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" ( (binary_expression "ppuVar11 == local_64 + -0xc8ef8" identifier == (binary_expression "local_64 + -0xc8ef8" identifier + number_literal)) )) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }" { (expression_statement "local_54 = (undefined **)piVar9[0x18];" (assignment_expression "local_54 = (undefined **)piVar9[0x18]" identifier = (cast_expression "(undefined **)piVar9[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar9[0x18]" identifier [ number_literal ]))) ;) (if_statement "if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;" if (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" ( (binary_expression "local_54 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00191d3b;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" else (compound_statement "{\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001918ae" & identifier)) ;) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar11)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1914b0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001914b0:\n          local_54 = (undefined **)0x0;" statement_identifier : (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1914c8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001914c8:\n          local_54 = (undefined **)0xfff1;" statement_identifier : (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" case (cast_expression "(undefined *)0x1914e0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" identifier = (binary_expression "bVar13 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" statement_identifier : (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df45" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xb5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191b0e" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" identifier = (pointer_expression "*(int **)(iVar15 + 8)" * (cast_expression "(int **)(iVar15 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 8)" ( (binary_expression "iVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x2c);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar10 + 0x2c)" * (cast_expression "(code **)(iVar10 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x2c)" ( (binary_expression "iVar10 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001914f8" & identifier)) ;) (expression_statement "local_54 = (undefined **)(*pcVar7)();" (assignment_expression "local_54 = (undefined **)(*pcVar7)()" identifier = (cast_expression "(undefined **)(*pcVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" if (parenthesized_expression "((undefined **)0xfeff < local_54)" ( (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" { (if_statement "if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" { (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191523;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191523" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191523" & identifier)) ;) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" if (parenthesized_expression "(local_60 == (code *)0xffffffff)" ( (binary_expression "local_60 == (code *)0xffffffff" identifier == (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_54 = (undefined **)0xffff;\n            }" { (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" else (compound_statement "{\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" { (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" identifier = identifier) ;) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" * (cast_expression "(code ***)(puVar17 + -0xc)" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&pcStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019154e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) }))) })) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;" if (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" ( (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00191b7c;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" if (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" * (cast_expression "(int *)(*local_68 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_68 + 8)" ( (binary_expression "*local_68 + 8" (pointer_expression "*local_68" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" { (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x24);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x24)" identifier = (pointer_expression "*(code **)(iVar10 + 0x24)" * (cast_expression "(code **)(iVar10 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 0x24)" ( (binary_expression "iVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0019157e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" identifier = (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" identifier = (call_expression "CONCAT44(local_58,local_5c)" identifier (argument_list "(local_58,local_5c)" ( identifier , identifier )))) ;) (if_statement "if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc81" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191d06" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;" if (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar10 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar10 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x1c)" * (cast_expression "(byte *)(iVar10 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1c)" ( (binary_expression "iVar10 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00191c88;" goto statement_identifier ;)) (expression_statement "bVar19 = local_5c < *(undefined **)(iVar10 + 4);" (assignment_expression "bVar19 = local_5c < *(undefined **)(iVar10 + 4)" identifier = (binary_expression "local_5c < *(undefined **)(iVar10 + 4)" identifier < (pointer_expression "*(undefined **)(iVar10 + 4)" * (cast_expression "(undefined **)(iVar10 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);" (assignment_expression "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4)" identifier = (binary_expression "local_5c + -(int)*(undefined **)(iVar10 + 4)" identifier + (unary_expression "-(int)*(undefined **)(iVar10 + 4)" - (cast_expression "(int)*(undefined **)(iVar10 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(iVar10 + 4)" * (cast_expression "(undefined **)(iVar10 + 4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar10 + 4)" ( (binary_expression "iVar10 + 4" identifier + number_literal) )))))))) ;) (expression_statement "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" identifier = (binary_expression "(local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" (parenthesized_expression "(local_58 - *(int *)(iVar10 + 8))" ( (binary_expression "local_58 - *(int *)(iVar10 + 8)" identifier - (pointer_expression "*(int *)(iVar10 + 8)" * (cast_expression "(int *)(iVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8)" ( (binary_expression "iVar10 + 8" identifier + number_literal) ))))) )) - (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) })) (labeled_statement "LAB_00191288:\n        uStack_84 = uVar20;" statement_identifier : (expression_statement "uStack_84 = uVar20;" (assignment_expression "uStack_84 = uVar20" identifier = identifier) ;)) (if_statement "if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" if (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" ( (binary_expression "pcVar1 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" { (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(local_6c <= (uint)((int)pcVar1 - local_70))" ( (binary_expression "local_6c <= (uint)((int)pcVar1 - local_70)" identifier <= (call_expression "(uint)((int)pcVar1 - local_70)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pcVar1 - local_70)" ( (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_7c + ((int)pcVar1 - local_70) * 0x18" identifier + (binary_expression "((int)pcVar1 - local_70) * 0x18" (parenthesized_expression "((int)pcVar1 - local_70)" ( (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x14) = local_58;" (assignment_expression "*(int *)(puVar17 + -0x14) = local_58" (pointer_expression "*(int *)(puVar17 + -0x14)" * (cast_expression "(int *)(puVar17 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = local_5c" (pointer_expression "*(undefined **)(puVar17 + -0x18)" * (cast_expression "(undefined **)(puVar17 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" if (parenthesized_expression "(local_60 != (code *)0xffffffff)" ( (binary_expression "local_60 != (code *)0xffffffff" identifier != (cast_expression "(code *)0xffffffff" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" { (if_statement "if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" if (parenthesized_expression "(local_74 <= (uint)((int)local_60 - local_78))" ( (binary_expression "local_74 <= (uint)((int)local_60 - local_78)" identifier <= (call_expression "(uint)((int)local_60 - local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_60 - local_78)" ( (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00191c0c" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;" (assignment_expression "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18" identifier = (binary_expression "local_48 + ((int)local_60 - local_78) * 0x18" identifier + (binary_expression "((int)local_60 - local_78) * 0x18" (parenthesized_expression "((int)local_60 - local_78)" ( (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(int *)(puVar17 + -4) = iVar10;" (assignment_expression "*(int *)(puVar17 + -4) = iVar10" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar17 + -0x18) = uStack_84;" (assignment_expression "*(undefined8 *)(puVar17 + -0x18) = uStack_84" (pointer_expression "*(undefined8 *)(puVar17 + -0x18)" * (cast_expression "(undefined8 *)(puVar17 + -0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" identifier = (pointer_expression "*(int **)(*local_68 + 0xc)" * (cast_expression "(int **)(*local_68 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_68 + 0xc)" ( (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" if (parenthesized_expression "(piVar9 == (int *)0x0)" ( (binary_expression "piVar9 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00191bd3;" goto statement_identifier ;)) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c)" identifier = (pointer_expression "*(undefined ***)(*piVar9 + 0x9c)" * (cast_expression "(undefined ***)(*piVar9 + 0x9c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar9 + 0x9c)" ( (binary_expression "*piVar9 + 0x9c" (pointer_expression "*piVar9" * identifier) + number_literal) ))))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xd3cc4)" ( (binary_expression "ppuVar11 != local_64 + -0xd3cc4" identifier != (binary_expression "local_64 + -0xd3cc4" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" { (expression_statement "*(int *)(puVar17 + -8) = iVar10;" (assignment_expression "*(int *)(puVar17 + -8) = iVar10" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191658;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191658" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppuVar11)();" (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" ( (pointer_expression "*(code *)ppuVar11" * (cast_expression "(code *)ppuVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) (expression_statement "local_4c = (int *)*local_4c;" (assignment_expression "local_4c = (int *)*local_4c" identifier = (cast_expression "(int *)*local_4c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_4c" * identifier))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) }) while (parenthesized_expression "(local_4c != (int *)0x0)" ( (binary_expression "local_4c != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "piVar9 = *(int **)(param_1 + 0x160);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x160)" identifier = (pointer_expression "*(int **)(param_1 + 0x160)" * (cast_expression "(int **)(param_1 + 0x160)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (if_statement "if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }" if (parenthesized_expression "(piVar9 == *(int **)(param_1 + 0x164))" ( (binary_expression "piVar9 == *(int **)(param_1 + 0x164)" identifier == (pointer_expression "*(int **)(param_1 + 0x164)" * (cast_expression "(int **)(param_1 + 0x164)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar15 = *piVar9;" (assignment_expression "iVar15 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" identifier = (pointer_expression "*(int *)(iVar15 + 0x10)" * (cast_expression "(int *)(iVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" { (expression_statement "local_4c = piVar9 + 1;" (assignment_expression "local_4c = piVar9 + 1" identifier = (binary_expression "piVar9 + 1" identifier + number_literal)) ;) (do_statement "do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);" do (compound_statement "{\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    }" { (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar18 = -1;\n      }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) }) (else_clause "else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" else (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" { (expression_statement "iVar18 = *(int *)(iVar15 + 0x14);" (assignment_expression "iVar18 = *(int *)(iVar15 + 0x14)" identifier = (pointer_expression "*(int *)(iVar15 + 0x14)" * (cast_expression "(int *)(iVar15 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" { (labeled_statement "LAB_00191b2e:\n          ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df39" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a) & 7;" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" * (cast_expression "(byte *)(iVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x2a)" ( (binary_expression "iVar15 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" if (parenthesized_expression "(bVar13 == 3)" ( (binary_expression "bVar13 == 3" identifier == number_literal) )) (compound_statement "{\n        uVar8 = 0xfff1;\n      }" { (expression_statement "uVar8 = 0xfff1;" (assignment_expression "uVar8 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" else (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" { (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(bVar13 != 4)" ( (binary_expression "bVar13 != 4" identifier != number_literal) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xccb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" if (parenthesized_expression "(iVar10 != -1)" ( (binary_expression "iVar10 != -1" identifier != number_literal) )) (compound_statement "{\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" { (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(local_6c <= (uint)(iVar10 - local_70))" ( (binary_expression "local_6c <= (uint)(iVar10 - local_70)" identifier <= (call_expression "(uint)(iVar10 - local_70)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar10 - local_70)" ( (binary_expression "iVar10 - local_70" identifier - identifier) )))) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcd1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_50 = uVar8;" (assignment_expression "local_50 = uVar8" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_7c + (iVar10 - local_70) * 0x18" identifier + (binary_expression "(iVar10 - local_70) * 0x18" (parenthesized_expression "(iVar10 - local_70)" ( (binary_expression "iVar10 - local_70" identifier - identifier) )) * number_literal))) ;) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar13 >> 4)" ( (binary_expression "bVar13 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" * (cast_expression "(undefined4 *)(iVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" * (cast_expression "(undefined4 *)(iVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913af;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913af" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = local_50;" (assignment_expression "uVar8 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) (if_statement "if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (compound_statement "{\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" { (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" if (parenthesized_expression "(local_74 <= (uint)(iVar18 - local_78))" ( (binary_expression "local_74 <= (uint)(iVar18 - local_78)" identifier <= (call_expression "(uint)(iVar18 - local_78)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 - local_78)" ( (binary_expression "iVar18 - local_78" identifier - identifier) )))) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3dfa1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcdb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48" (pointer_expression "*(undefined **)(puVar17 + -0x14)" * (cast_expression "(undefined **)(puVar17 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00191c48" & identifier)) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" * (cast_expression "(int *)(puVar17 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "local_48 + (iVar18 - local_78) * 0x18" identifier + (binary_expression "(iVar18 - local_78) * 0x18" (parenthesized_expression "(iVar18 - local_78)" ( (binary_expression "iVar18 - local_78" identifier - identifier) )) * number_literal))) ;) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" identifier = (pointer_expression "*(byte *)(iVar15 + 0x28)" * (cast_expression "(byte *)(iVar15 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x28)" ( (binary_expression "iVar15 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar13 >> 4)" ( (binary_expression "bVar13 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" * (cast_expression "(undefined4 *)(iVar15 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x34)" ( (binary_expression "iVar15 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" * (cast_expression "(undefined4 *)(iVar15 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x30)" ( (binary_expression "iVar15 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" * (cast_expression "(int *)(puVar17 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" * (cast_expression "(int *)(puVar17 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) (if_statement "if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }" if (parenthesized_expression "(*(int **)(param_1 + 0x164) == local_4c)" ( (binary_expression "*(int **)(param_1 + 0x164) == local_4c" (pointer_expression "*(int **)(param_1 + 0x164)" * (cast_expression "(int **)(param_1 + 0x164)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x164)" ( (binary_expression "param_1 + 0x164" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "iVar15 = *local_4c;" (assignment_expression "iVar15 = *local_4c" identifier = (pointer_expression "*local_4c" * identifier)) ;) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" identifier = (binary_expression "local_4c + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" identifier = (pointer_expression "*(int *)(iVar15 + 0x10)" * (cast_expression "(int *)(iVar15 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x10)" ( (binary_expression "iVar15 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_00191b10:\n  ppuVar11 = local_64;" statement_identifier : (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" identifier = identifier) ;)) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_64 + -0x3df83" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) , IDENT )))))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression (binary_expression IDENT * LIT) + IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression IDENT < LIT)))))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) , IDENT )))))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression (binary_expression IDENT * LIT) + IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression IDENT < LIT)))))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT)) ))) )) && (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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (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)) )) (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 != (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 * (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 != (char_literal ' escape_sequence ')) )) (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) )) (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 * (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 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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) (if_statement if (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) && (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) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (return_statement return ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (switch_statement switch (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (case_statement case (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 * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (break_statement break ;)) (case_statement case (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 * (abstract_pointer_declarator *))) ) LIT)) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (switch_statement switch (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & 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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , 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 { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 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 = (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 = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (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 *))) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (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) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * (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 == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 *)) ) (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 * (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 * (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) )))) = (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 IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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 (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (field_expression IDENT . field_identifier) = (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)) ))))) ;) }) (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 *))) ) (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 (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 * (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 = IDENT) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )) [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 ( ))) ;) })) }) (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) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (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 *))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) ))) [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )) [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )) [ LIT ]))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) )) [ LIT ]))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT - (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 = IDENT) ;) }))) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (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 * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 == (binary_expression IDENT + 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 ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (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 * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (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) )) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) })) (labeled_statement statement_identifier : (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) = (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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) )))) = 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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) = (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (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 * (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) )))) = 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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (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 * (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression 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 = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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) )))) = (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 = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 *)) ) (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 = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 *)) ) (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 = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 ( ))) ;) })))
(function_definition "void FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" (primitive_type "void") (function_declarator "FUN_00191030(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" (identifier "FUN_00191030") (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) () ")"))) (compound_statement "{\n  code *pcVar1;\n  uint uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined **ppuVar5;\n  char cVar6;\n  code *pcVar7;\n  uint uVar8;\n  int *piVar9;\n  int iVar10;\n  undefined **ppuVar11;\n  undefined4 uVar12;\n  int in_ECX;\n  byte bVar13;\n  byte bVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  int iVar18;\n  bool bVar19;\n  undefined8 uVar20;\n  int aiStackY_b4 [2];\n  undefined1 auStack_9c [12];\n  int *local_90;\n  code *local_8c;\n  undefined **ppuStack_88;\n  undefined8 uStack_84;\n  int local_7c;\n  int local_78;\n  uint local_74;\n  int local_70;\n  uint local_6c;\n  int *local_68;\n  undefined **local_64;\n  code *local_60;\n  undefined *local_5c;\n  int local_58;\n  undefined **local_54;\n  uint local_50;\n  int *local_4c;\n  int local_48;\n  int *piStack_44;\n  undefined **ppuStack_40;\n  code *pcStack_34;\n  undefined **ppuStack_30;\n  undefined1 auStack_2c [28];\n  \n  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n  local_64 = &__DT_PLTGOT;\n  puVar17 = auStack_9c;\n  local_68 = &DAT_003aa3e8;\n  local_90 = *(int **)(DAT_003aa3e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }\n  local_70 = *(int *)(param_1 + 4);\n  local_6c = *(uint *)(param_1 + 0x10);\n  iVar15 = *(int *)(param_1 + 0xc);\n  uVar8 = *(uint *)(param_1 + 8);\n  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_78 = *(int *)(param_1 + 0x1c);\n  local_74 = *(uint *)(param_1 + 0x20);\n  iVar15 = *(int *)(param_1 + 0x18);\n  uVar8 = *(uint *)(param_1 + 0x14);\n  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }\n  local_4c = *(int **)(param_1 + 0x2c);\n  puVar17 = auStack_9c;\n  if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }\n  piVar9 = *(int **)(param_1 + 0x160);\n  if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }\n  iVar15 = *piVar9;\n  iVar10 = *(int *)(iVar15 + 0x10);\n  if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }\nLAB_00191b10:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;\n  FUN_0007ac80();\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined **ppuVar5;" (type_identifier "undefined") (pointer_declarator "**ppuVar5" (* "*") (pointer_declarator "*ppuVar5" (* "*") (identifier "ppuVar5"))) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined **ppuVar11;" (type_identifier "undefined") (pointer_declarator "**ppuVar11" (* "*") (pointer_declarator "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "int in_ECX;" (primitive_type "int") (identifier "in_ECX") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "undefined8 uVar20;" (type_identifier "undefined8") (identifier "uVar20") (; ";")) (declaration "int aiStackY_b4 [2];" (primitive_type "int") (array_declarator "aiStackY_b4 [2]" (identifier "aiStackY_b4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 auStack_9c [12];" (type_identifier "undefined1") (array_declarator "auStack_9c [12]" (identifier "auStack_9c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "int *local_90;" (primitive_type "int") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "code *local_8c;" (type_identifier "code") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "undefined **ppuStack_88;" (type_identifier "undefined") (pointer_declarator "**ppuStack_88" (* "*") (pointer_declarator "*ppuStack_88" (* "*") (identifier "ppuStack_88"))) (; ";")) (declaration "undefined8 uStack_84;" (type_identifier "undefined8") (identifier "uStack_84") (; ";")) (declaration "int local_7c;" (primitive_type "int") (identifier "local_7c") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined **local_64;" (type_identifier "undefined") (pointer_declarator "**local_64" (* "*") (pointer_declarator "*local_64" (* "*") (identifier "local_64"))) (; ";")) (declaration "code *local_60;" (type_identifier "code") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined *local_5c;" (type_identifier "undefined") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "undefined **local_54;" (type_identifier "undefined") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54"))) (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "int *local_4c;" (primitive_type "int") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "int *piStack_44;" (primitive_type "int") (pointer_declarator "*piStack_44" (* "*") (identifier "piStack_44")) (; ";")) (declaration "undefined **ppuStack_40;" (type_identifier "undefined") (pointer_declarator "**ppuStack_40" (* "*") (pointer_declarator "*ppuStack_40" (* "*") (identifier "ppuStack_40"))) (; ";")) (declaration "code *pcStack_34;" (type_identifier "code") (pointer_declarator "*pcStack_34" (* "*") (identifier "pcStack_34")) (; ";")) (declaration "undefined **ppuStack_30;" (type_identifier "undefined") (pointer_declarator "**ppuStack_30" (* "*") (pointer_declarator "*ppuStack_30" (* "*") (identifier "ppuStack_30"))) (; ";")) (declaration "undefined1 auStack_2c [28];" (type_identifier "undefined1") (array_declarator "auStack_2c [28]" (identifier "auStack_2c") ([ "[") (number_literal "28") (] "]")) (; ";")) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (expression_statement "local_64 = &__DT_PLTGOT;" (assignment_expression "local_64 = &__DT_PLTGOT" (identifier "local_64") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" (identifier "puVar17") (= "=") (identifier "auStack_9c")) (; ";")) (expression_statement "local_68 = &DAT_003aa3e8;" (assignment_expression "local_68 = &DAT_003aa3e8" (identifier "local_68") (= "=") (pointer_expression "&DAT_003aa3e8" (& "&") (identifier "DAT_003aa3e8"))) (; ";")) (expression_statement "local_90 = *(int **)(DAT_003aa3e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_003aa3e8 + 0xc)" (identifier "local_90") (= "=") (pointer_expression "*(int **)(DAT_003aa3e8 + 0xc)" (* "*") (cast_expression "(int **)(DAT_003aa3e8 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_003aa3e8 + 0xc)" (( "(") (binary_expression "DAT_003aa3e8 + 0xc" (identifier "DAT_003aa3e8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (local_90 == (int *)0x0) {\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" (if "if") (parenthesized_expression "(local_90 == (int *)0x0)" (( "(") (binary_expression "local_90 == (int *)0x0" (identifier "local_90") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00191bd3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;\n    FUN_0007ac80();\n  }" ({ "{") (labeled_statement "LAB_00191bd3:\n    ppuVar11 = local_64;" (statement_identifier "LAB_00191bd3") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3de5c" (identifier "local_64") (+ "+") (number_literal "-0x3de5c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x69")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x113d93"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191bee" (& "&") (identifier "LAB_00191bee"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_70 = *(int *)(param_1 + 4);" (assignment_expression "local_70 = *(int *)(param_1 + 4)" (identifier "local_70") (= "=") (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_6c = *(uint *)(param_1 + 0x10);" (assignment_expression "local_6c = *(uint *)(param_1 + 0x10)" (identifier "local_6c") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar15 = *(int *)(param_1 + 0xc)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_1 + 8);" (assignment_expression "uVar8 = *(uint *)(param_1 + 8)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 8)" (* "*") (cast_expression "(uint *)(param_1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_7c = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" (if "if") (parenthesized_expression "((local_6c == 0) || (uVar8 == 0 && iVar15 == 0))" (( "(") (binary_expression "(local_6c == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_6c == 0)" (( "(") (binary_expression "local_6c == 0" (identifier "local_6c") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" (( "(") (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_7c = 0;\n  }" ({ "{") (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" (else "else") (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;\n    local_7c = *(int *)(param_6 + 0x10) + uVar8;\n  }" ({ "{") (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))\n    goto LAB_00191ca6;" (if "if") (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" (( "(") (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" (( "(") (binary_expression "iVar15 < 0" (identifier "iVar15") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (( "(") (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" (identifier "iVar15") (= "=") (binary_expression "iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8)" (identifier "iVar15") (+ "+") (cast_expression "(uint)CARRY4(local_6c * 0x18,uVar8)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_6c * 0x18,uVar8)" (identifier "CARRY4") (argument_list "(local_6c * 0x18,uVar8)" (( "(") (binary_expression "local_6c * 0x18" (identifier "local_6c") (* "*") (number_literal "0x18")) (, ",") (identifier "uVar8") () ")")))))) (, ",") (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" (identifier "uVar2") (= "=") (call_expression "(uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8)" (( "(") (binary_expression "*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" (* "*") (cast_expression "(uint *)(param_6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "local_6c * 0x18 + uVar8" (binary_expression "local_6c * 0x18" (identifier "local_6c") (* "*") (number_literal "0x18")) (+ "+") (identifier "uVar8"))) () ")")))) (, ",") (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" (identifier "iVar10") (= "=") (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" (* "*") (cast_expression "(int *)(param_6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar15"))) (, ",") (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" (identifier "in_ECX") (= "=") (binary_expression "iVar10 - uVar2" (identifier "iVar10") (- "-") (identifier "uVar2"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" (( "(") (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" (identifier "SBORROW4") (argument_list "(*(int *)(param_6 + 0xc),iVar15)" (( "(") (pointer_expression "*(int *)(param_6 + 0xc)" (* "*") (cast_expression "(int *)(param_6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar15") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar10,uVar2)" (identifier "SBORROW4") (argument_list "(iVar10,uVar2)" (( "(") (identifier "iVar10") (, ",") (identifier "uVar2") () ")")))) () ")")) (!= "!=") (binary_expression "in_ECX < 0" (identifier "in_ECX") (< "<") (number_literal "0"))))))) () ")"))) () ")")) (goto_statement "goto LAB_00191ca6;" (goto "goto") (statement_identifier "LAB_00191ca6") (; ";"))) (expression_statement "local_7c = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_7c = *(int *)(param_6 + 0x10) + uVar8" (identifier "local_7c") (= "=") (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" (* "*") (cast_expression "(int *)(param_6 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "uVar8"))) (; ";")) (} "}")))) (expression_statement "local_78 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_78 = *(int *)(param_1 + 0x1c)" (identifier "local_78") (= "=") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_74 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_74 = *(uint *)(param_1 + 0x20)" (identifier "local_74") (= "=") (pointer_expression "*(uint *)(param_1 + 0x20)" (* "*") (cast_expression "(uint *)(param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar15 = *(int *)(param_1 + 0x18)" (identifier "iVar15") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar8 = *(uint *)(param_1 + 0x14)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(param_1 + 0x14)" (* "*") (cast_expression "(uint *)(param_1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {\n    local_48 = 0;\n  }\n  else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" (if "if") (parenthesized_expression "((local_74 == 0) || (uVar8 == 0 && iVar15 == 0))" (( "(") (binary_expression "(local_74 == 0) || (uVar8 == 0 && iVar15 == 0)" (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar8 == 0 && iVar15 == 0)" (( "(") (binary_expression "uVar8 == 0 && iVar15 == 0" (binary_expression "uVar8 == 0" (identifier "uVar8") (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_48 = 0;\n  }" ({ "{") (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" (else "else") (compound_statement "{\n    if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_48 = *(int *)(param_6 + 0x10) + uVar8;\n  }" ({ "{") (if_statement "if ((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" (if "if") (parenthesized_expression "((iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))" (( "(") (binary_expression "(iVar15 < 0) ||\n       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (parenthesized_expression "(iVar15 < 0)" (( "(") (binary_expression "iVar15 < 0" (identifier "iVar15") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)" (( "(") (comma_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),\n       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" (identifier "iVar15") (= "=") (binary_expression "iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8)" (identifier "iVar15") (+ "+") (cast_expression "(uint)CARRY4(local_74 * 0x18,uVar8)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_74 * 0x18,uVar8)" (identifier "CARRY4") (argument_list "(local_74 * 0x18,uVar8)" (( "(") (binary_expression "local_74 * 0x18" (identifier "local_74") (* "*") (number_literal "0x18")) (, ",") (identifier "uVar8") () ")")))))) (, ",") (comma_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),\n       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" (identifier "uVar2") (= "=") (call_expression "(uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8)" (( "(") (binary_expression "*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8" (pointer_expression "*(uint *)(param_6 + 8)" (* "*") (cast_expression "(uint *)(param_6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 8)" (( "(") (binary_expression "param_6 + 8" (identifier "param_6") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "local_74 * 0x18 + uVar8" (binary_expression "local_74 * 0x18" (identifier "local_74") (* "*") (number_literal "0x18")) (+ "+") (identifier "uVar8"))) () ")")))) (, ",") (comma_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "iVar10 = *(int *)(param_6 + 0xc) - iVar15" (identifier "iVar10") (= "=") (binary_expression "*(int *)(param_6 + 0xc) - iVar15" (pointer_expression "*(int *)(param_6 + 0xc)" (* "*") (cast_expression "(int *)(param_6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar15"))) (, ",") (comma_expression "in_ECX = iVar10 - uVar2,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (assignment_expression "in_ECX = iVar10 - uVar2" (identifier "in_ECX") (= "=") (binary_expression "iVar10 - uVar2" (identifier "iVar10") (- "-") (identifier "uVar2"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2))" (( "(") (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar15)" (identifier "SBORROW4") (argument_list "(*(int *)(param_6 + 0xc),iVar15)" (( "(") (pointer_expression "*(int *)(param_6 + 0xc)" (* "*") (cast_expression "(int *)(param_6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0xc)" (( "(") (binary_expression "param_6 + 0xc" (identifier "param_6") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar15") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar10,uVar2)" (identifier "SBORROW4") (argument_list "(iVar10,uVar2)" (( "(") (identifier "iVar10") (, ",") (identifier "uVar2") () ")")))) () ")")) (!= "!=") (binary_expression "in_ECX < 0" (identifier "in_ECX") (< "<") (number_literal "0"))))))) () ")"))) () ")")) (compound_statement "{\nLAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" ({ "{") (labeled_statement "LAB_00191ca6:\n                    \n      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (statement_identifier "LAB_00191ca6") (: ":") (expression_statement "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX)" (identifier "FUN_0007ac80") (argument_list "("../../gold/output.h",0x6f,"get_output_view",in_ECX)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x6f") (, ",") (string_literal ""get_output_view"" (" """) (string_content "get_output_view") (" """)) (, ",") (identifier "in_ECX") () ")"))) (; ";"))) (} "}"))) (expression_statement "local_48 = *(int *)(param_6 + 0x10) + uVar8;" (assignment_expression "local_48 = *(int *)(param_6 + 0x10) + uVar8" (identifier "local_48") (= "=") (binary_expression "*(int *)(param_6 + 0x10) + uVar8" (pointer_expression "*(int *)(param_6 + 0x10)" (* "*") (cast_expression "(int *)(param_6 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_6 + 0x10)" (( "(") (binary_expression "param_6 + 0x10" (identifier "param_6") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "uVar8"))) (; ";")) (} "}")))) (expression_statement "local_4c = *(int **)(param_1 + 0x2c);" (assignment_expression "local_4c = *(int **)(param_1 + 0x2c)" (identifier "local_4c") (= "=") (pointer_expression "*(int **)(param_1 + 0x2c)" (* "*") (cast_expression "(int **)(param_1 + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" (identifier "puVar17") (= "=") (identifier "auStack_9c")) (; ";")) (if_statement "if (local_4c != (int *)0x0) {\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" (if "if") (parenthesized_expression "(local_4c != (int *)0x0)" (( "(") (binary_expression "local_4c != (int *)0x0" (identifier "local_4c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);\n    puVar17 = auStack_9c;\n    do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);\n  }" ({ "{") (expression_statement "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" (identifier "local_8c") (= "=") (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_002b1dd0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + DAT_002b1dd0)" (( "(") (binary_expression "(int)&__DT_PLTGOT + DAT_002b1dd0" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (identifier "DAT_002b1dd0")) () ")")))) (; ";")) (expression_statement "puVar17 = auStack_9c;" (assignment_expression "puVar17 = auStack_9c" (identifier "puVar17") (= "=") (identifier "auStack_9c")) (; ";")) (do_statement "do {\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    } while (local_4c != (int *)0x0);" (do "do") (compound_statement "{\n      iVar15 = local_4c[3];\n      uVar4 = uStack_84;\n      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_00191b10;\n      if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }\n      if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }\n      local_4c = (int *)*local_4c;\n      uStack_84 = uVar4;\n    }" ({ "{") (expression_statement "iVar15 = local_4c[3];" (assignment_expression "iVar15 = local_4c[3]" (identifier "iVar15") (= "=") (subscript_expression "local_4c[3]" (identifier "local_4c") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2))" (( "(") (binary_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0))" (( "(") (binary_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar15 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0))" (( "(") (binary_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&\n           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2a)" (( "(") (binary_expression "iVar15 + 0x2a" (identifier "iVar15") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)" (( "(") (comma_expression "iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "(*(byte *)(iVar10 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar10 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar15 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar15 + 0xc) == 0" (pointer_expression "*(int *)(iVar15 + 0xc)" (* "*") (cast_expression "(int *)(iVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)(iVar15 + 0x28) >> 4 != 2)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" (* "*") (cast_expression "(byte *)(iVar15 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x28)" (( "(") (binary_expression "iVar15 + 0x28" (identifier "iVar15") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        iVar18 = *(int *)(*local_68 + 8);\n        if (iVar18 == 0) goto LAB_00191b7c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar18 = *(int *)(*local_68 + 8);" (assignment_expression "iVar18 = *(int *)(*local_68 + 8)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar18 == 0) goto LAB_00191b7c;" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00191b7c;" (goto "goto") (statement_identifier "LAB_00191b7c") (; ";"))) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar18 + 0x1fd) == '\0')" (( "(") (binary_expression "*(char *)(iVar18 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar18 + 0x1fd)" (* "*") (cast_expression "(char *)(iVar18 + 0x1fd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + 0x1fd)" (( "(") (binary_expression "iVar18 + 0x1fd" (identifier "iVar18") (+ "+") (number_literal "0x1fd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }\n          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }\n        }" ({ "{") (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(*local_68 + 0xc)" (* "*") (cast_expression "(int **)(*local_68 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_68 + 0xc)" (( "(") (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00191bd3;" (goto "goto") (statement_identifier "LAB_00191bd3") (; ";"))) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x1c)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*piVar9 + 0x1c)" (* "*") (cast_expression "(undefined ***)(*piVar9 + 0x1c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar9 + 0x1c)" (( "(") (binary_expression "*piVar9 + 0x1c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (ppuVar11 != local_64 + -0xd3ce8) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" (if "if") (parenthesized_expression "(ppuVar11 != local_64 + -0xd3ce8)" (( "(") (binary_expression "ppuVar11 != local_64 + -0xd3ce8" (identifier "ppuVar11") (!= "!=") (binary_expression "local_64 + -0xd3ce8" (identifier "local_64") (+ "+") (number_literal "-0xd3ce8"))) () ")")) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_00191160;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" ({ "{") (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1919d3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1919d3")) (; ";")) (expression_statement "cVar6 = (*(code *)ppuVar11)();" (assignment_expression "cVar6 = (*(code *)ppuVar11)()" (identifier "cVar6") (= "=") (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if (cVar6 != '\0') goto LAB_00191160;" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00191160;" (goto "goto") (statement_identifier "LAB_00191160") (; ";"))) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;" (if "if") (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2a)" (( "(") (binary_expression "iVar15 + 0x2a" (identifier "iVar15") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001919e8;" (goto "goto") (statement_identifier "LAB_001919e8") (; ";"))) (expression_statement "iVar10 = *(int *)(iVar15 + 8);" (assignment_expression "iVar10 = *(int *)(iVar15 + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar15 + 8)" (* "*") (cast_expression "(int *)(iVar15 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" (if "if") (parenthesized_expression "((*(byte *)(iVar10 + 0x2c) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(iVar10 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x2c) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar10 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar10 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uStack_84 = uVar4;\n            if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }\n          }" ({ "{") (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (*(int *)(iVar10 + 0x5c) == 0) {\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x5c) == 0)" (( "(") (binary_expression "*(int *)(iVar10 + 0x5c) == 0" (pointer_expression "*(int *)(iVar10 + 0x5c)" (* "*") (cast_expression "(int *)(iVar10 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x5c)" (( "(") (binary_expression "iVar10 + 0x5c" (identifier "iVar10") (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar17 + -4) = 0;\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;\n              FUN_0007ac80();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df7b" (identifier "local_64") (+ "+") (number_literal "-0x3df7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x3e" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x3e")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0x10a0b5" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10a0b5"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191d3b" (& "&") (identifier "LAB_00191d3b"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar10 + 0x5c) != 1)" (( "(") (binary_expression "*(int *)(iVar10 + 0x5c) != 1" (pointer_expression "*(int *)(iVar10 + 0x5c)" (* "*") (cast_expression "(int *)(iVar10 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x5c)" (( "(") (binary_expression "iVar10 + 0x5c" (identifier "iVar10") (+ "+") (number_literal "0x5c")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191966;\n              FUN_00071e80();\n              uVar4 = uStack_84;\n            }" ({ "{") (expression_statement "*(int *)(puVar17 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191966;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191966" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191966")) (; ";")) (expression_statement "FUN_00071e80();" (call_expression "FUN_00071e80()" (identifier "FUN_00071e80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_00191160:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (statement_identifier "LAB_00191160") (: ":") (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar4 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar4")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";"))) (expression_statement "pcVar1 = *(code **)(iVar15 + 0x10);" (assignment_expression "pcVar1 = *(code **)(iVar15 + 0x10)" (identifier "pcVar1") (= "=") (pointer_expression "*(code **)(iVar15 + 0x10)" (* "*") (cast_expression "(code **)(iVar15 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x10)" (( "(") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (pcVar1 == (code *)0x0) goto LAB_00191b10;" (if "if") (parenthesized_expression "(pcVar1 == (code *)0x0)" (( "(") (binary_expression "pcVar1 == (code *)0x0" (identifier "pcVar1") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00191b10;" (goto "goto") (statement_identifier "LAB_00191b10") (; ";"))) (if_statement "if (local_48 == 0) {\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }\n      else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_60 = (code *)0xffffffff;\n        pcVar7 = pcVar1;\n      }" ({ "{") (expression_statement "local_60 = (code *)0xffffffff;" (assignment_expression "local_60 = (code *)0xffffffff" (identifier "local_60") (= "=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar7 = pcVar1;" (assignment_expression "pcVar7 = pcVar1" (identifier "pcVar7") (= "=") (identifier "pcVar1")) (; ";")) (} "}")) (else_clause "else {\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" (else "else") (compound_statement "{\n        local_60 = *(code **)(iVar15 + 0x14);\n        if (local_60 == (code *)0x0) goto LAB_00191b2e;\n        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);\n      }" ({ "{") (expression_statement "local_60 = *(code **)(iVar15 + 0x14);" (assignment_expression "local_60 = *(code **)(iVar15 + 0x14)" (identifier "local_60") (= "=") (pointer_expression "*(code **)(iVar15 + 0x14)" (* "*") (cast_expression "(code **)(iVar15 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (local_60 == (code *)0x0) goto LAB_00191b2e;" (if "if") (parenthesized_expression "(local_60 == (code *)0x0)" (( "(") (binary_expression "local_60 == (code *)0x0" (identifier "local_60") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00191b2e;" (goto "goto") (statement_identifier "LAB_00191b2e") (; ";"))) (expression_statement "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);" (assignment_expression "pcVar7 = (code *)((uint)local_60 & (uint)pcVar1)" (identifier "pcVar7") (= "=") (cast_expression "(code *)((uint)local_60 & (uint)pcVar1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)local_60 & (uint)pcVar1)" (( "(") (binary_expression "(uint)local_60 & (uint)pcVar1" (cast_expression "(uint)local_60" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_60")) (& "&") (cast_expression "(uint)pcVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar1"))) () ")")))) (; ";")) (} "}")))) (if_statement "if (pcVar7 != (code *)0xffffffff) {\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(pcVar7 != (code *)0xffffffff)" (( "(") (binary_expression "pcVar7 != (code *)0xffffffff" (identifier "pcVar7") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        piVar9 = (int *)(iVar15 + 0x30);\n        local_5c = (undefined *)*piVar9;\n        local_58 = *(int *)(iVar15 + 0x34);\n        uVar20 = *(undefined8 *)piVar9;\n        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);\n        iVar10 = *(int *)(*local_68 + 8);\n        if (iVar10 == 0) goto LAB_00191b7c;\n        bVar13 = *(byte *)(iVar15 + 0x2a);\n        uVar8 = bVar13 & 7;\n        bVar14 = (byte)uVar8;\n        uStack_84 = uVar4;\n        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }\n        uVar2 = local_50;\n        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }\n        local_50 = uVar2;\n        if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }\n        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }\nLAB_00191288:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }\n        if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }\n      }" ({ "{") (expression_statement "piVar9 = (int *)(iVar15 + 0x30);" (assignment_expression "piVar9 = (int *)(iVar15 + 0x30)" (identifier "piVar9") (= "=") (cast_expression "(int *)(iVar15 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x30)" (( "(") (binary_expression "iVar15 + 0x30" (identifier "iVar15") (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "local_5c = (undefined *)*piVar9;" (assignment_expression "local_5c = (undefined *)*piVar9" (identifier "local_5c") (= "=") (cast_expression "(undefined *)*piVar9" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar9" (* "*") (identifier "piVar9")))) (; ";")) (expression_statement "local_58 = *(int *)(iVar15 + 0x34);" (assignment_expression "local_58 = *(int *)(iVar15 + 0x34)" (identifier "local_58") (= "=") (pointer_expression "*(int *)(iVar15 + 0x34)" (* "*") (cast_expression "(int *)(iVar15 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x34)" (( "(") (binary_expression "iVar15 + 0x34" (identifier "iVar15") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" (identifier "uVar20") (= "=") (pointer_expression "*(undefined8 *)piVar9" (* "*") (cast_expression "(undefined8 *)piVar9" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar9")))) (; ";")) (expression_statement "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4)" (identifier "local_50") (= "=") (call_expression "(uint)(*(byte *)(iVar15 + 0x28) >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(byte *)(iVar15 + 0x28) >> 4)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar15 + 0x28)" (* "*") (cast_expression "(byte *)(iVar15 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x28)" (( "(") (binary_expression "iVar15 + 0x28" (identifier "iVar15") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar10 = *(int *)(*local_68 + 8);" (assignment_expression "iVar10 = *(int *)(*local_68 + 8)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar10 == 0) goto LAB_00191b7c;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00191b7c;" (goto "goto") (statement_identifier "LAB_00191b7c") (; ";"))) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)(iVar15 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2a)" (( "(") (binary_expression "iVar15 + 0x2a" (identifier "iVar15") (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "uVar8 = bVar13 & 7;" (assignment_expression "uVar8 = bVar13 & 7" (identifier "uVar8") (= "=") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7"))) (; ";")) (expression_statement "bVar14 = (byte)uVar8;" (assignment_expression "bVar14 = (byte)uVar8" (identifier "bVar14") (= "=") (cast_expression "(byte)uVar8" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar8"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" (if "if") (parenthesized_expression "((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1))" (( "(") (binary_expression "(*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar10 + 0x49b1) != '\0')" (( "(") (binary_expression "*(char *)(iVar10 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x49b1)" (* "*") (cast_expression "(char *)(iVar10 + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x49b1)" (( "(") (binary_expression "iVar10 + 0x49b1" (identifier "iVar10") (+ "+") (number_literal "0x49b1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_50 == 1)" (( "(") (binary_expression "local_50 == 1" (identifier "local_50") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n          if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }\n          if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_00191b4c;\n          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }\n          goto LAB_00191288;\n        }" ({ "{") (if_statement "if (bVar14 == 0) {\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }" (if "if") (parenthesized_expression "(bVar14 == 0)" (( "(") (binary_expression "bVar14 == 0" (identifier "bVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_54 = *(undefined ***)(iVar15 + 0xc);\n            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }\n                    \n                    \n            (*local_8c)();\n            return;\n          }" ({ "{") (expression_statement "local_54 = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "local_54 = *(undefined ***)(iVar15 + 0xc)" (identifier "local_54") (= "=") (pointer_expression "*(undefined ***)(iVar15 + 0xc)" (* "*") (cast_expression "(undefined ***)(iVar15 + 0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" (if "if") (parenthesized_expression "((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0))" (( "(") (binary_expression "(local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_54 == (undefined **)0x0)" (( "(") (binary_expression "local_54 == (undefined **)0x0" (identifier "local_54") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) >> 5 & 1)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2b)" (( "(") (binary_expression "iVar15 + 0x2b" (identifier "iVar15") (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();\n              return;\n            }" ({ "{") (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e07d]))" (( "(") (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e07d])" (* "*") (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e07d])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e07d])" (( "(") (binary_expression "(int)local_64 + (int)local_64[-0x3e07d]" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (cast_expression "(int)local_64[-0x3e07d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[-0x3e07d]" (identifier "local_64") ([ "[") (number_literal "-0x3e07d") (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*local_8c)();" (call_expression "(*local_8c)()" (parenthesized_expression "(*local_8c)" (( "(") (pointer_expression "*local_8c" (* "*") (identifier "local_8c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (bVar14 == 4) {\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" (if "if") (parenthesized_expression "(bVar14 == 4)" (( "(") (binary_expression "bVar14 == 4" (identifier "bVar14") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    \n                    \n            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();\n            return;\n          }" ({ "{") (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x3e083]))" (( "(") (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x3e083])" (* "*") (cast_expression "(code *)((int)local_64 + (int)local_64[-0x3e083])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + (int)local_64[-0x3e083])" (( "(") (binary_expression "(int)local_64 + (int)local_64[-0x3e083]" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (cast_expression "(int)local_64[-0x3e083]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[-0x3e083]" (identifier "local_64") ([ "[") (number_literal "-0x3e083") (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (4 < bVar14) goto LAB_00191b4c;" (if "if") (parenthesized_expression "(4 < bVar14)" (( "(") (binary_expression "4 < bVar14" (number_literal "4") (< "<") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_00191b4c;" (goto "goto") (statement_identifier "LAB_00191b4c") (; ";"))) (switch_statement "switch(local_64[uVar8 - 0x3e082] + (int)local_64) {\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" (switch "switch") (parenthesized_expression "(local_64[uVar8 - 0x3e082] + (int)local_64)" (( "(") (binary_expression "local_64[uVar8 - 0x3e082] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e082]" (identifier "local_64") ([ "[") (binary_expression "uVar8 - 0x3e082" (identifier "uVar8") (- "-") (number_literal "0x3e082")) (] "]")) (+ "+") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")) (compound_statement "{\n          case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;\n          case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;\n          case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();\n          }" ({ "{") (case_statement "case (undefined *)0x191610:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" (case "case") (cast_expression "(undefined *)0x191610" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191610")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar20 = *(undefined8 *)piVar9;" (assignment_expression "uVar20 = *(undefined8 *)piVar9" (identifier "uVar20") (= "=") (pointer_expression "*(undefined8 *)piVar9" (* "*") (cast_expression "(undefined8 *)piVar9" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar9")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x191630:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" (case "case") (cast_expression "(undefined *)0x191630" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191630")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x191840:\n            local_50 = 1;\n            goto code_r0x001914e3;" (case "case") (cast_expression "(undefined *)0x191840" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191840")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x001914e3;" (goto "goto") (statement_identifier "code_r0x001914e3") (; ";"))) (case_statement "case (undefined *)0x191850:\n            local_50 = 1;\n            goto code_r0x00191453;" (case "case") (cast_expression "(undefined *)0x191850" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191850")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x00191453;" (goto "goto") (statement_identifier "code_r0x00191453") (; ";"))) (case_statement "case (undefined *)0x191c48:\ncode_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;\n            FUN_0007ac80();" (case "case") (cast_expression "(undefined *)0x191c48" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191c48")) (: ":") (labeled_statement "code_r0x00191c48:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" (statement_identifier "code_r0x00191c48") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de56" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3de56" (identifier "local_64") (+ "+") (number_literal "-0x3de56"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xaa")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191c66" (& "&") (identifier "LAB_00191c66"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_00191288;" (goto "goto") (statement_identifier "LAB_00191288") (; ";")) (} "}"))) (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" (identifier "uVar2") (= "=") (identifier "local_50")) (; ";")) (if_statement "if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {\n          uVar2 = local_50;\n        }" (if "if") (parenthesized_expression "((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'))" (( "(") (binary_expression "(local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" (( "(") (binary_expression "local_50 == 10" (identifier "local_50") (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')" (( "(") (comma_expression "uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0'" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (, ",") (binary_expression "*(char *)(iVar10 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar10 + 0x19a9)" (* "*") (cast_expression "(char *)(iVar10 + 0x19a9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x19a9)" (( "(") (binary_expression "iVar10 + 0x19a9" (identifier "iVar10") (+ "+") (number_literal "0x19a9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          uVar2 = local_50;\n        }" ({ "{") (expression_statement "uVar2 = local_50;" (assignment_expression "uVar2 = local_50" (identifier "uVar2") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "local_50 = uVar2;" (assignment_expression "local_50 = uVar2" (identifier "local_50") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if (4 < bVar14) {\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" (if "if") (parenthesized_expression "(4 < bVar14)" (( "(") (binary_expression "4 < bVar14" (number_literal "4") (< "<") (identifier "bVar14")) () ")")) (compound_statement "{\nLAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;\n          FUN_0007ac80();\n        }" ({ "{") (labeled_statement "LAB_00191b4c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (statement_identifier "LAB_00191b4c") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc9b" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc9b")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191b6a" (& "&") (identifier "LAB_00191b6a"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (switch_statement "switch(local_64[uVar8 - 0x3e091] + (int)local_64) {\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" (switch "switch") (parenthesized_expression "(local_64[uVar8 - 0x3e091] + (int)local_64)" (( "(") (binary_expression "local_64[uVar8 - 0x3e091] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x3e091]" (identifier "local_64") ([ "[") (binary_expression "uVar8 - 0x3e091" (identifier "uVar8") (- "-") (number_literal "0x3e091")) (] "]")) (+ "+") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")) (compound_statement "{\n        case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }\n        }" ({ "{") (case_statement "case (undefined *)0x191210:\n          if ((bVar13 & 7) != 0) goto code_r0x00191c48;\n          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);\n          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;\n          bVar13 = bVar14 & 1;\n          local_54 = (undefined **)uStack_84;\n          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }\n          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n          uVar20 = CONCAT44(local_58,local_5c);\n          piVar9 = *(int **)(iVar15 + 8);\n          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }\n          break;" (case "case") (cast_expression "(undefined *)0x191210" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191210")) (: ":") (if_statement "if ((bVar13 & 7) != 0) goto code_r0x00191c48;" (if "if") (parenthesized_expression "((bVar13 & 7) != 0)" (( "(") (binary_expression "(bVar13 & 7) != 0" (parenthesized_expression "(bVar13 & 7)" (( "(") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x00191c48;" (goto "goto") (statement_identifier "code_r0x00191c48") (; ";"))) (expression_statement "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc)" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(undefined ***)(iVar15 + 0xc)" (* "*") (cast_expression "(undefined ***)(iVar15 + 0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;" (assignment_expression "bVar14 = *(byte *)(iVar15 + 0x2b) >> 5" (identifier "bVar14") (= "=") (binary_expression "*(byte *)(iVar15 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar15 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2b)" (( "(") (binary_expression "iVar15 + 0x2b" (identifier "iVar15") (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5"))) (; ";")) (expression_statement "bVar13 = bVar14 & 1;" (assignment_expression "bVar13 = bVar14 & 1" (identifier "bVar13") (= "=") (binary_expression "bVar14 & 1" (identifier "bVar14") (& "&") (number_literal "1"))) (; ";")) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" (identifier "local_54") (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (if_statement "if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" (if "if") (parenthesized_expression "(((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1))" (( "(") (binary_expression "((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)" (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" (( "(") (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) (!= "!=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) () ")")) (&& "&&") (parenthesized_expression "(bVar13 != 1)" (( "(") (binary_expression "bVar13 != 1" (identifier "bVar13") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191882;\n            cVar6 = FUN_00188890();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }\n            bVar13 = (byte)ppuStack_88;\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);" (assignment_expression "ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" (identifier "ppuStack_88") (= "=") (cast_expression "(undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01)" (( "(") (binary_expression "CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01" (call_expression "CONCAT31(ppuStack_88._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(ppuStack_88._1_3_,bVar14)" (( "(") (field_expression "ppuStack_88._1_3_" (identifier "ppuStack_88") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")"))) (& "&") (number_literal "0xffffff01")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191882;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191882" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191882")) (; ";")) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" (identifier "cVar6") (= "=") (call_expression "FUN_00188890()" (identifier "FUN_00188890") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1918f0;\n              FUN_00189b80();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;\n              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;\n              uVar12 = gettext();\n              *(undefined ***)(puVar17 + -8) = ppuStack_88;\n              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -0x10) = uVar12;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191921;\n              FUN_00071a80();\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }\n              break;\n            }" ({ "{") (expression_statement "ppuStack_88 = (undefined **)uStack_84;" (assignment_expression "ppuStack_88 = (undefined **)uStack_84" (identifier "ppuStack_88") (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1918f0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1918f0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1918f0")) (; ";")) (expression_statement "FUN_00189b80();" (call_expression "FUN_00189b80()" (identifier "FUN_00189b80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uStack_84._0_4_ = (undefined **)pcStack_34;" (assignment_expression "uStack_84._0_4_ = (undefined **)pcStack_34" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined **)pcStack_34" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcStack_34"))) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_64 + -0x3e0e5" (identifier "local_64") (+ "+") (number_literal "-0x3e0e5"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19190a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19190a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x19190a")) (; ";")) (expression_statement "uVar12 = gettext();" (assignment_expression "uVar12 = gettext()" (identifier "uVar12") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = ppuStack_88;" (assignment_expression "*(undefined ***)(puVar17 + -8) = ppuStack_88" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "ppuStack_88")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar12" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191921;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191921" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191921")) (; ";")) (expression_statement "FUN_00071a80();" (call_expression "FUN_00071a80()" (identifier "FUN_00071a80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if (pcStack_34 != (code *)auStack_2c) {\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" (if "if") (parenthesized_expression "(pcStack_34 != (code *)auStack_2c)" (( "(") (binary_expression "pcStack_34 != (code *)auStack_2c" (identifier "pcStack_34") (!= "!=") (cast_expression "(code *)auStack_2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_2c"))) () ")")) (compound_statement "{\n                *(code **)(puVar17 + -0x10) = pcStack_34;\n                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;\n                FUN_001fd020();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n              }" ({ "{") (expression_statement "*(code **)(puVar17 + -0x10) = pcStack_34;" (assignment_expression "*(code **)(puVar17 + -0x10) = pcStack_34" (pointer_expression "*(code **)(puVar17 + -0x10)" (* "*") (cast_expression "(code **)(puVar17 + -0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pcStack_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19193e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19193e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x19193e")) (; ";")) (expression_statement "FUN_001fd020();" (call_expression "FUN_001fd020()" (identifier "FUN_001fd020") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "bVar13 = (byte)ppuStack_88;" (assignment_expression "bVar13 = (byte)ppuStack_88" (identifier "bVar13") (= "=") (cast_expression "(byte)ppuStack_88" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppuStack_88"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar15 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2a)" (( "(") (binary_expression "iVar15 + 0x2a" (identifier "iVar15") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;\n              FUN_0007ac80();\n            }" ({ "{") (labeled_statement "LAB_001919e8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" (statement_identifier "LAB_001919e8") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3de5e" (identifier "local_64") (+ "+") (number_literal "-0x3de5e"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xa1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xa1")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191a06" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00191a06" (& "&") (identifier "UNK_00191a06"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (assignment_expression "uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20)" (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (= "=") (call_expression "(undefined4)((ulonglong)uVar4 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar4 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar4")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(iVar15 + 8)" (* "*") (cast_expression "(int **)(iVar15 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }\n          else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" (if "if") (parenthesized_expression "((*(byte *)(piVar9 + 0xb) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(piVar9 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar9 + 0xb) & 1)" (( "(") (binary_expression "*(byte *)(piVar9 + 0xb) & 1" (pointer_expression "*(byte *)(piVar9 + 0xb)" (* "*") (cast_expression "(byte *)(piVar9 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 0xb)" (( "(") (binary_expression "piVar9 + 0xb" (identifier "piVar9") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);\n            pcVar7 = *(code **)(iVar10 + 0x14);\n            *(undefined4 *)(puVar17 + -0x14) = 0x191672;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;\n            if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }\n          }" ({ "{") (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" (identifier "iVar10") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);" (assignment_expression "ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" (identifier "ppuStack_88") (= "=") (cast_expression "(undefined **)CONCAT31(ppuStack_88._1_3_,bVar13)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(ppuStack_88._1_3_,bVar13)" (identifier "CONCAT31") (argument_list "(ppuStack_88._1_3_,bVar13)" (( "(") (field_expression "ppuStack_88._1_3_" (identifier "ppuStack_88") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar13") () ")"))))) (; ";")) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(iVar10 + 0x14)" (* "*") (cast_expression "(code **)(iVar10 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191672;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191672" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191672")) (; ";")) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" (identifier "iVar10") (= "=") (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (if_statement "if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;" (if "if") (parenthesized_expression "(((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0))" (( "(") (binary_expression "((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)" (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" (( "(") (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001914b0;" (goto "goto") (statement_identifier "LAB_001914b0") (; ";"))) (if_statement "if ((byte)ppuStack_88 == '\0') {\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }\n            else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" (if "if") (parenthesized_expression "((byte)ppuStack_88 == '\0')" (( "(") (binary_expression "(byte)ppuStack_88 == '\0'" (cast_expression "(byte)ppuStack_88" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppuStack_88")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              uVar20 = CONCAT44(local_58,local_5c);\n              if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }\n            }" ({ "{") (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if ((undefined **)uStack_84 != (undefined **)0xfff1) {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" (if "if") (parenthesized_expression "((undefined **)uStack_84 != (undefined **)0xfff1)" (( "(") (binary_expression "(undefined **)uStack_84 != (undefined **)0xfff1" (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) (!= "!=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) () ")")) (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;\n                cVar6 = FUN_00188890();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001916bf;\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1916b1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1916b1")) (; ";")) (expression_statement "cVar6 = FUN_00188890();" (assignment_expression "cVar6 = FUN_00188890()" (identifier "cVar6") (= "=") (call_expression "FUN_00188890()" (identifier "FUN_00188890") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') goto LAB_001916bf;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001916bf;" (goto "goto") (statement_identifier "LAB_001916bf") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" (else "else") (compound_statement "{\nLAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xd3a08;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }\n              *(undefined ***)(puVar17 + -8) = local_54;\n              *(int **)(puVar17 + -0xc) = piVar9;\n              *(int *)(puVar17 + -0x10) = param_1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x191704;\n              cVar6 = FUN_00188c90();\n              if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }\n              if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }\n              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n              uVar20 = CONCAT44(local_58,local_5c);\n              uVar3 = CONCAT44(local_58,local_5c);\n              if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }\n            }" ({ "{") (labeled_statement "LAB_001916bf:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" (statement_identifier "LAB_001916bf") (: ":") (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x60)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*piVar9 + 0x60)" (* "*") (cast_expression "(undefined ***)(*piVar9 + 0x60)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar9 + 0x60)" (( "(") (binary_expression "*piVar9 + 0x60" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";"))) (expression_statement "ppuStack_88 = local_64 + -0xd3a08;" (assignment_expression "ppuStack_88 = local_64 + -0xd3a08" (identifier "ppuStack_88") (= "=") (binary_expression "local_64 + -0xd3a08" (identifier "local_64") (+ "+") (number_literal "-0xd3a08"))) (; ";")) (if_statement "if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }\n              else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" (if "if") (parenthesized_expression "(ppuVar11 == ppuStack_88)" (( "(") (binary_expression "ppuVar11 == ppuStack_88" (identifier "ppuVar11") (== "==") (identifier "ppuStack_88")) () ")")) (compound_statement "{\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;\n                local_54 = (undefined **)uStack_84;\n                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);\n              }" ({ "{") (expression_statement "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" (identifier "ppuVar11") (= "=") (cast_expression "(undefined **)(piVar9[0xf] - piVar9[0xe] >> 2)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar9[0xf] - piVar9[0xe] >> 2)" (( "(") (binary_expression "piVar9[0xf] - piVar9[0xe] >> 2" (binary_expression "piVar9[0xf] - piVar9[0xe]" (subscript_expression "piVar9[0xf]" (identifier "piVar9") ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "piVar9[0xe]" (identifier "piVar9") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;" (if "if") (parenthesized_expression "(ppuVar11 <= (undefined **)uStack_84)" (( "(") (binary_expression "ppuVar11 <= (undefined **)uStack_84" (identifier "ppuVar11") (<= "<=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) () ")")) (goto_statement "goto LAB_00191d06;" (goto "goto") (statement_identifier "LAB_00191d06") (; ";"))) (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" (identifier "local_54") (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (* "*") (cast_expression "(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar9[0xe] + (int)(undefined **)uStack_84 * 4)" (( "(") (binary_expression "piVar9[0xe] + (int)(undefined **)uStack_84 * 4" (subscript_expression "piVar9[0xe]" (identifier "piVar9") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "(int)(undefined **)uStack_84 * 4" (cast_expression "(int)(undefined **)uStack_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" (else "else") (compound_statement "{\n                local_54 = (undefined **)uStack_84;\n                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;\n                *(int **)(puVar17 + -0x10) = piVar9;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;\n                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n              }" ({ "{") (expression_statement "local_54 = (undefined **)uStack_84;" (assignment_expression "local_54 = (undefined **)uStack_84" (identifier "local_54") (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ac1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191ac1")) (; ";")) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined **)(*(code *)ppuVar11)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(int **)(puVar17 + -0xc) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0xc) = piVar9" (pointer_expression "*(int **)(puVar17 + -0xc)" (* "*") (cast_expression "(int **)(puVar17 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_1" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191704;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191704" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191704")) (; ";")) (expression_statement "cVar6 = FUN_00188c90();" (assignment_expression "cVar6 = FUN_00188c90()" (identifier "cVar6") (= "=") (call_expression "FUN_00188c90()" (identifier "FUN_00188c90") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') {\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                puVar16 = puVar17;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }\n              }" ({ "{") (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" (if "if") (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" (( "(") (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar17 + -4) = local_54;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;\n                  FUN_0007ac80();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" (* "*") (cast_expression "(undefined ***)(puVar17 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc59" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc59")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191cdb")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar17 + -4) = local_54;\n                *(int **)(puVar17 + -8) = piVar9;\n                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar17 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;\n                FUN_0007e180();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }\n                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }\n                puVar16 = puVar17 + -4;\n                if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -4) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -4) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -4)" (* "*") (cast_expression "(undefined ***)(puVar17 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = piVar9;" (assignment_expression "*(int **)(puVar17 + -8) = piVar9" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x15c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x15c)" (( "(") (binary_expression "param_1 + 0x15c" (identifier "param_1") (+ "+") (number_literal "0x15c")) () ")"))))) (; ";")) (expression_statement "*(int ***)(puVar17 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar17 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar17 + -0x10)" (* "*") (cast_expression "(int ***)(puVar17 + -0x10)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&piStack_44" (& "&") (identifier "piStack_44"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191a33;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191a33" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191a33")) (; ";")) (expression_statement "FUN_0007e180();" (call_expression "FUN_0007e180()" (identifier "FUN_0007e180") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" (if "if") (parenthesized_expression "(piStack_44 == (int *)0x0)" (( "(") (binary_expression "piStack_44 == (int *)0x0" (identifier "piStack_44") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;\n                  FUN_0007ac80();\n                }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc53")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" (* "*") (cast_expression "(int *)(puVar17 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191c82" (pointer_expression "*(undefined **)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&UNK_00191c82" (& "&") (identifier "UNK_00191c82"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar11 = *(undefined ***)(*piStack_44 + 0x60)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*piStack_44 + 0x60)" (* "*") (cast_expression "(undefined ***)(*piStack_44 + 0x60)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piStack_44 + 0x60)" (( "(") (binary_expression "*piStack_44 + 0x60" (pointer_expression "*piStack_44" (* "*") (identifier "piStack_44")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (if_statement "if (ppuVar11 == ppuStack_88) {\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }\n                else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" (if "if") (parenthesized_expression "(ppuVar11 == ppuStack_88)" (( "(") (binary_expression "ppuVar11 == ppuStack_88" (identifier "ppuVar11") (== "==") (identifier "ppuStack_88")) () ")")) (compound_statement "{\n                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);\n                  if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }\n                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);\n                }" ({ "{") (expression_statement "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);" (assignment_expression "ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" (identifier "ppuVar11") (= "=") (cast_expression "(undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piStack_44[0xf] - piStack_44[0xe] >> 2)" (( "(") (binary_expression "piStack_44[0xf] - piStack_44[0xe] >> 2" (binary_expression "piStack_44[0xf] - piStack_44[0xe]" (subscript_expression "piStack_44[0xf]" (identifier "piStack_44") ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "piStack_44[0xe]" (identifier "piStack_44") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (ppuVar11 <= ppuStack_40) {\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" (if "if") (parenthesized_expression "(ppuVar11 <= ppuStack_40)" (( "(") (binary_expression "ppuVar11 <= ppuStack_40" (identifier "ppuVar11") (<= "<=") (identifier "ppuStack_40")) () ")")) (compound_statement "{\nLAB_00191d06:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;\n                    FUN_0007ac80();\n                  }" ({ "{") (labeled_statement "LAB_00191d06:\n                    ppuVar5 = local_64;" (statement_identifier "LAB_00191d06") (: ":") (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" (identifier "ppuVar5") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -4) = ppuVar11;" (assignment_expression "*(undefined ***)(puVar16 + -4) = ppuVar11" (pointer_expression "*(undefined ***)(puVar16 + -4)" (* "*") (cast_expression "(undefined ***)(puVar16 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar11")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71" (pointer_expression "*(undefined ***)(puVar16 + -8)" (* "*") (cast_expression "(undefined ***)(puVar16 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppuVar5 + -0x3de71" (identifier "ppuVar5") (+ "+") (number_literal "-0x3de71"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c8")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar5 + -0x10ec7b" (cast_expression "(int)ppuVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar5")) (+ "+") (number_literal "-0x10ec7b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x191d22;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x191d22" (pointer_expression "*(undefined4 *)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191d22")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);" (assignment_expression "uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" (* "*") (cast_expression "(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piStack_44[0xe] + (int)ppuStack_40 * 4)" (( "(") (binary_expression "piStack_44[0xe] + (int)ppuStack_40 * 4" (subscript_expression "piStack_44[0xe]" (identifier "piStack_44") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "(int)ppuStack_40 * 4" (cast_expression "(int)ppuStack_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_40")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" (else "else") (compound_statement "{\n                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;\n                  *(int **)(puVar17 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;\n                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuStack_40;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuStack_40" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "ppuStack_40")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar17 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar17 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piStack_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x191b71;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x191b71" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x191b71")) (; ";")) (expression_statement "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)()" (field_expression "uStack_84._0_4_" (identifier "uStack_84") (. ".") (field_identifier "_0_4_")) (= "=") (cast_expression "(undefined **)(*(code *)ppuVar11)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if ((undefined **)uStack_84 == (undefined **)0x0) {\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" (if "if") (parenthesized_expression "((undefined **)uStack_84 == (undefined **)0x0)" (( "(") (binary_expression "(undefined **)uStack_84 == (undefined **)0x0" (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(int *)(puVar17 + -8) = iVar15;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;\n                  FUN_0007ac80();\n                }" ({ "{") (expression_statement "*(int *)(puVar17 + -8) = iVar15;" (assignment_expression "*(int *)(puVar17 + -8) = iVar15" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc57")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x14)" (* "*") (cast_expression "(int *)(puVar17 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_00191a95" (pointer_expression "*(undefined **)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&UNK_00191a95" (& "&") (identifier "UNK_00191a95"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" (identifier "puVar17") (= "=") (identifier "puVar16")) (; ";")) (expression_statement "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*(undefined **)uStack_84 + 0x2c)" (* "*") (cast_expression "(undefined ***)(*(undefined **)uStack_84 + 0x2c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*(undefined **)uStack_84 + 0x2c)" (( "(") (binary_expression "*(undefined **)uStack_84 + 0x2c" (pointer_expression "*(undefined **)uStack_84" (* "*") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" (if "if") (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" (( "(") (binary_expression "ppuVar11 == local_64 + -0xc8ef8" (identifier "ppuVar11") (== "==") (binary_expression "local_64 + -0xc8ef8" (identifier "local_64") (+ "+") (number_literal "-0xc8ef8"))) () ")")) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }\n              }" ({ "{") (expression_statement "local_54 = (undefined **)((undefined **)uStack_84)[0x18];" (assignment_expression "local_54 = (undefined **)((undefined **)uStack_84)[0x18]" (identifier "local_54") (= "=") (cast_expression "(undefined **)((undefined **)uStack_84)[0x18]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "((undefined **)uStack_84)[0x18]" (parenthesized_expression "((undefined **)uStack_84)" (( "(") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")) ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (local_54 == (undefined **)0xffffffff) {\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" (if "if") (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" (( "(") (binary_expression "local_54 == (undefined **)0xffffffff" (identifier "local_54") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_00191d3b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;\n                  FUN_0007ac80();\n                }" ({ "{") (labeled_statement "LAB_00191d3b:\n                  ppuVar11 = local_64;" (statement_identifier "LAB_00191d3b") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df7f" (identifier "local_64") (+ "+") (number_literal "-0x3df7f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x1043" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1043")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10ec8f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191d59" (& "&") (identifier "LAB_00191d59"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191aac;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191aac" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191aac")) (; ";")) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" (identifier "local_54") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar11)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (if_statement "if ((undefined **)0xfeff < local_54) {\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" (if "if") (parenthesized_expression "((undefined **)0xfeff < local_54)" (( "(") (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfeff")) (< "<") (identifier "local_54")) () ")")) (compound_statement "{\n                if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }\n                if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }\n              }" ({ "{") (if_statement "if (pcVar1 != (code *)0xffffffff) {\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" (if "if") (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" (( "(") (binary_expression "pcVar1 != (code *)0xffffffff" (identifier "pcVar1") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;\n                  pcStack_34 = pcVar1;\n                  FUN_000910c0();\n                }" ({ "{") (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" (identifier "ppuStack_30") (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" (* "*") (cast_expression "(code ***)(puVar17 + -0xc)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&pcStack_34" (& "&") (identifier "pcStack_34"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_4 + 0x2c" (identifier "param_4") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x19176d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x19176d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x19176d")) (; ";")) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" (identifier "pcStack_34") (= "=") (identifier "pcVar1")) (; ";")) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" (identifier "FUN_000910c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_60 == (code *)0xffffffff) {\n                  local_54 = (undefined **)0xffff;\n                }\n                else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" (if "if") (parenthesized_expression "(local_60 == (code *)0xffffffff)" (( "(") (binary_expression "local_60 == (code *)0xffffffff" (identifier "local_60") (== "==") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  local_54 = (undefined **)0xffff;\n                }" ({ "{") (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")) (else_clause "else {\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" (else "else") (compound_statement "{\n                  pcStack_34 = local_60;\n                  ppuStack_30 = local_54;\n                  *(code ***)(puVar17 + -0xc) = &pcStack_34;\n                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;\n                  FUN_000910c0();\n                  local_54 = (undefined **)0xffff;\n                }" ({ "{") (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" (identifier "pcStack_34") (= "=") (identifier "local_60")) (; ";")) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" (identifier "ppuStack_30") (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" (* "*") (cast_expression "(code ***)(puVar17 + -0xc)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&pcStack_34" (& "&") (identifier "pcStack_34"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_5 + 0x2c" (identifier "param_5") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191798;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191798" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191798")) (; ";")) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" (identifier "FUN_000910c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);" (assignment_expression "uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "uVar4") (= "=") (call_expression "CONCAT44(uStack_84._4_4_,(undefined **)uStack_84)" (identifier "CONCAT44") (argument_list "(uStack_84._4_4_,(undefined **)uStack_84)" (( "(") (field_expression "uStack_84._4_4_" (identifier "uStack_84") (. ".") (field_identifier "_4_4_")) (, ",") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "uVar3 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar3 = CONCAT44(local_58,local_5c)" (identifier "uVar3") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if (*(int *)(*local_68 + 8) == 0) {\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" (if "if") (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00191b7c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;\n                FUN_0007ac80();\n              }" ({ "{") (labeled_statement "LAB_00191b7c:\n                ppuVar11 = local_64;" (statement_identifier "LAB_00191b7c") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3de4e" (identifier "local_64") (+ "+") (number_literal "-0x3de4e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x113d93" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x113d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b97;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b97" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191b97")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }\n                bVar19 = local_5c < ((undefined **)uStack_84)[1];\n                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];\n                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;\n                uVar20 = uVar3;\n              }" ({ "{") (if_statement "if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" (if "if") (parenthesized_expression "(((uint)((undefined **)uStack_84)[7] & 1) == 0)" (( "(") (binary_expression "((uint)((undefined **)uStack_84)[7] & 1) == 0" (parenthesized_expression "((uint)((undefined **)uStack_84)[7] & 1)" (( "(") (binary_expression "(uint)((undefined **)uStack_84)[7] & 1" (subscript_expression "(uint)((undefined **)uStack_84)[7]" (call_expression "(uint)((undefined **)uStack_84)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((undefined **)uStack_84)" (( "(") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")"))) ([ "[") (number_literal "7") (] "]")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00191c88:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;\n                  FUN_0007ac80();\n                }" ({ "{") (labeled_statement "LAB_00191c88:\n                  ppuVar11 = local_64;" (statement_identifier "LAB_00191c88") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df47" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df47" (identifier "local_64") (+ "+") (number_literal "-0x3df47"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x10ec8f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10ec8f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191ca6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191ca6")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar19 = local_5c < ((undefined **)uStack_84)[1];" (assignment_expression "bVar19 = local_5c < ((undefined **)uStack_84)[1]" (identifier "bVar19") (= "=") (binary_expression "local_5c < ((undefined **)uStack_84)[1]" (identifier "local_5c") (< "<") (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" (( "(") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")) ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_5c = local_5c + -(int)((undefined **)uStack_84)[1];" (assignment_expression "local_5c = local_5c + -(int)((undefined **)uStack_84)[1]" (identifier "local_5c") (= "=") (binary_expression "local_5c + -(int)((undefined **)uStack_84)[1]" (identifier "local_5c") (+ "+") (unary_expression "-(int)((undefined **)uStack_84)[1]" (- "-") (cast_expression "(int)((undefined **)uStack_84)[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined **)uStack_84)[1]" (parenthesized_expression "((undefined **)uStack_84)" (( "(") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")) ([ "[") (number_literal "1") (] "]")))))) (; ";")) (expression_statement "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" (identifier "local_58") (= "=") (binary_expression "(local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19" (parenthesized_expression "(local_58 - (int)((undefined **)uStack_84)[2])" (( "(") (binary_expression "local_58 - (int)((undefined **)uStack_84)[2]" (identifier "local_58") (- "-") (cast_expression "(int)((undefined **)uStack_84)[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((undefined **)uStack_84)[2]" (parenthesized_expression "((undefined **)uStack_84)" (( "(") (cast_expression "(undefined **)uStack_84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "uStack_84")) () ")")) ([ "[") (number_literal "2") (] "]")))) () ")")) (- "-") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (expression_statement "uVar20 = uVar3;" (assignment_expression "uVar20 = uVar3" (identifier "uVar20") (= "=") (identifier "uVar3")) (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" (else "else") (compound_statement "{\n            uStack_84 = uVar4;\n            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }\n            local_54 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);\n            uVar4 = uStack_84;\n          }" ({ "{") (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar15 + 0x2b) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2b) & 2)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar15 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2b)" (( "(") (binary_expression "iVar15 + 0x2b" (identifier "iVar15") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar10 = *local_90;\n              *(int *)(puVar17 + -0xc) = iVar15;\n              *(int **)(puVar17 + -0x10) = local_90;\n              pcVar7 = *(code **)(iVar10 + 0x14);\n              *(undefined4 *)(puVar17 + -0x14) = 0x191265;\n              uVar20 = (*pcVar7)();\n            }" ({ "{") (expression_statement "iVar10 = *local_90;" (assignment_expression "iVar10 = *local_90" (identifier "iVar10") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = local_90;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_90" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_90")) (; ";")) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x14);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x14)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(iVar10 + 0x14)" (* "*") (cast_expression "(code **)(iVar10 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x14)" (( "(") (binary_expression "iVar10 + 0x14" (identifier "iVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191265;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191265" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191265")) (; ";")) (expression_statement "uVar20 = (*pcVar7)();" (assignment_expression "uVar20 = (*pcVar7)()" (identifier "uVar20") (= "=") (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" (identifier "local_50") (= "=") (binary_expression "2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" (number_literal "2") (- "-") (parenthesized_expression "((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar15 + 0x2c) >> 1 & 1)" (( "(") (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar15 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar15 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2c)" (( "(") (binary_expression "iVar15 + 0x2c" (identifier "iVar15") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x191450:\n          bVar14 = bVar13 & 7;\ncode_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;\n          piVar9 = (int *)FUN_00104a70();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001914c8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;" (case "case") (cast_expression "(undefined *)0x191450" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x191450")) (: ":") (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" (identifier "bVar14") (= "=") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x00191453:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" (statement_identifier "code_r0x00191453") (: ":") (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" (if "if") (parenthesized_expression "(bVar14 != 2)" (( "(") (binary_expression "bVar14 != 2" (identifier "bVar14") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;\n            FUN_0007ac80();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df53" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df53" (identifier "local_64") (+ "+") (number_literal "-0x3df53"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 200" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "200")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191aee" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00191aee" (& "&") (identifier "UNK_00191aee"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019146a" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0019146a" (& "&") (identifier "UNK_0019146a"))) (; ";")) (expression_statement "piVar9 = (int *)FUN_00104a70();" (assignment_expression "piVar9 = (int *)FUN_00104a70()" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_00104a70()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00104a70()" (identifier "FUN_00104a70") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if (piVar9 == (int *)0x0) goto code_r0x001914c8;" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x001914c8;" (goto "goto") (statement_identifier "code_r0x001914c8") (; ";"))) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x2c)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*piVar9 + 0x2c)" (* "*") (cast_expression "(undefined ***)(*piVar9 + 0x2c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar9 + 0x2c)" (( "(") (binary_expression "*piVar9 + 0x2c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (ppuVar11 == local_64 + -0xc8ef8) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" (if "if") (parenthesized_expression "(ppuVar11 == local_64 + -0xc8ef8)" (( "(") (binary_expression "ppuVar11 == local_64 + -0xc8ef8" (identifier "ppuVar11") (== "==") (binary_expression "local_64 + -0xc8ef8" (identifier "local_64") (+ "+") (number_literal "-0xc8ef8"))) () ")")) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;\n          }" ({ "{") (expression_statement "local_54 = (undefined **)piVar9[0x18];" (assignment_expression "local_54 = (undefined **)piVar9[0x18]" (identifier "local_54") (= "=") (cast_expression "(undefined **)piVar9[0x18]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar9[0x18]" (identifier "piVar9") ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;" (if "if") (parenthesized_expression "(local_54 == (undefined **)0xffffffff)" (( "(") (binary_expression "local_54 == (undefined **)0xffffffff" (identifier "local_54") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_00191d3b;" (goto "goto") (statement_identifier "LAB_00191d3b") (; ";"))) (} "}")) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" (else "else") (compound_statement "{\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" ({ "{") (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001918ae" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001918ae" (& "&") (identifier "UNK_001918ae"))) (; ";")) (expression_statement "local_54 = (undefined **)(*(code *)ppuVar11)();" (assignment_expression "local_54 = (undefined **)(*(code *)ppuVar11)()" (identifier "local_54") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar11)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1914b0:\nLAB_001914b0:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" (case "case") (cast_expression "(undefined *)0x1914b0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1914b0")) (: ":") (labeled_statement "LAB_001914b0:\n          local_54 = (undefined **)0x0;" (statement_identifier "LAB_001914b0") (: ":") (expression_statement "local_54 = (undefined **)0x0;" (assignment_expression "local_54 = (undefined **)0x0" (identifier "local_54") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1914c8:\ncode_r0x001914c8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" (case "case") (cast_expression "(undefined *)0x1914c8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1914c8")) (: ":") (labeled_statement "code_r0x001914c8:\n          local_54 = (undefined **)0xfff1;" (statement_identifier "code_r0x001914c8") (: ":") (expression_statement "local_54 = (undefined **)0xfff1;" (assignment_expression "local_54 = (undefined **)0xfff1" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) (; ";"))) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1914e0:\n          bVar14 = bVar13 & 7;\ncode_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;\n          local_54 = (undefined **)(*pcVar7)();\n          uVar4 = uStack_84;\n          if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }\n          uVar20 = CONCAT44(local_58,local_5c);\n          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;\n          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" (case "case") (cast_expression "(undefined *)0x1914e0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1914e0")) (: ":") (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" (identifier "bVar14") (= "=") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x001914e3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" (statement_identifier "code_r0x001914e3") (: ":") (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" (if "if") (parenthesized_expression "(bVar14 != 1)" (( "(") (binary_expression "bVar14 != 1" (identifier "bVar14") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;\n            FUN_0007ac80();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df45" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df45" (identifier "local_64") (+ "+") (number_literal "-0x3df45"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xb5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xb5")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0x10ebb6" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191b0e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00191b0e" (& "&") (identifier "UNK_00191b0e"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar9 = *(int **)(iVar15 + 8);" (assignment_expression "piVar9 = *(int **)(iVar15 + 8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(iVar15 + 8)" (* "*") (cast_expression "(int **)(iVar15 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 8)" (( "(") (binary_expression "iVar15 + 8" (identifier "iVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" (identifier "iVar10") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x2c);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x2c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(iVar10 + 0x2c)" (* "*") (cast_expression "(code **)(iVar10 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x2c)" (( "(") (binary_expression "iVar10 + 0x2c" (identifier "iVar10") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001914f8" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001914f8" (& "&") (identifier "UNK_001914f8"))) (; ";")) (expression_statement "local_54 = (undefined **)(*pcVar7)();" (assignment_expression "local_54 = (undefined **)(*pcVar7)()" (identifier "local_54") (= "=") (cast_expression "(undefined **)(*pcVar7)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if ((undefined **)0xfeff < local_54) {\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" (if "if") (parenthesized_expression "((undefined **)0xfeff < local_54)" (( "(") (binary_expression "(undefined **)0xfeff < local_54" (cast_expression "(undefined **)0xfeff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfeff")) (< "<") (identifier "local_54")) () ")")) (compound_statement "{\n            if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }\n            if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }\n          }" ({ "{") (if_statement "if (pcVar1 != (code *)0xffffffff) {\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" (if "if") (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" (( "(") (binary_expression "pcVar1 != (code *)0xffffffff" (identifier "pcVar1") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000910c0();\n              uVar4 = uStack_84;\n            }" ({ "{") (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" (* "*") (cast_expression "(code ***)(puVar17 + -0xc)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&pcStack_34" (& "&") (identifier "pcStack_34"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_4 + 0x2c" (identifier "param_4") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191523;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191523" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00191523" (& "&") (identifier "UNK_00191523"))) (; ";")) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" (identifier "pcStack_34") (= "=") (identifier "pcVar1")) (; ";")) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" (identifier "ppuStack_30") (= "=") (identifier "local_54")) (; ";")) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" (identifier "FUN_000910c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (if_statement "if (local_60 == (code *)0xffffffff) {\n              local_54 = (undefined **)0xffff;\n            }\n            else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" (if "if") (parenthesized_expression "(local_60 == (code *)0xffffffff)" (( "(") (binary_expression "local_60 == (code *)0xffffffff" (identifier "local_60") (== "==") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              local_54 = (undefined **)0xffff;\n            }" ({ "{") (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")) (else_clause "else {\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" (else "else") (compound_statement "{\n              pcStack_34 = local_60;\n              ppuStack_30 = local_54;\n              *(code ***)(puVar17 + -0xc) = &pcStack_34;\n              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;\n              uStack_84 = uVar4;\n              FUN_000910c0();\n              local_54 = (undefined **)0xffff;\n              uVar4 = uStack_84;\n            }" ({ "{") (expression_statement "pcStack_34 = local_60;" (assignment_expression "pcStack_34 = local_60" (identifier "pcStack_34") (= "=") (identifier "local_60")) (; ";")) (expression_statement "ppuStack_30 = local_54;" (assignment_expression "ppuStack_30 = local_54" (identifier "ppuStack_30") (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(code ***)(puVar17 + -0xc) = &pcStack_34;" (assignment_expression "*(code ***)(puVar17 + -0xc) = &pcStack_34" (pointer_expression "*(code ***)(puVar17 + -0xc)" (* "*") (cast_expression "(code ***)(puVar17 + -0xc)" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&pcStack_34" (& "&") (identifier "pcStack_34"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar17 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_5 + 0x2c" (identifier "param_5") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019154e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0019154e" (& "&") (identifier "UNK_0019154e"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_000910c0();" (call_expression "FUN_000910c0()" (identifier "FUN_000910c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_54 = (undefined **)0xffff;" (assignment_expression "local_54 = (undefined **)0xffff" (identifier "local_54") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;" (if "if") (parenthesized_expression "(*(int *)(*local_68 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_68 + 8) == 0" (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00191b7c;" (goto "goto") (statement_identifier "LAB_00191b7c") (; ";"))) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_68 + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(*local_68 + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_68 + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(*local_68 + 8) + 0x318d" (pointer_expression "*(int *)(*local_68 + 8)" (* "*") (cast_expression "(int *)(*local_68 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_68 + 8)" (( "(") (binary_expression "*local_68 + 8" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            iVar10 = *piVar9;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            pcVar7 = *(code **)(iVar10 + 0x24);\n            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;\n            bVar19 = local_5c < *(undefined **)(iVar10 + 4);\n            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);\n            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;\n          }" ({ "{") (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" (identifier "iVar10") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "pcVar7 = *(code **)(iVar10 + 0x24);" (assignment_expression "pcVar7 = *(code **)(iVar10 + 0x24)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(iVar10 + 0x24)" (* "*") (cast_expression "(code **)(iVar10 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 0x24)" (( "(") (binary_expression "iVar10 + 0x24" (identifier "iVar10") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_0019157e" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0019157e" (& "&") (identifier "UNK_0019157e"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "iVar10 = (*pcVar7)();" (assignment_expression "iVar10 = (*pcVar7)()" (identifier "iVar10") (= "=") (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar20 = CONCAT44(local_58,local_5c);" (assignment_expression "uVar20 = CONCAT44(local_58,local_5c)" (identifier "uVar20") (= "=") (call_expression "CONCAT44(local_58,local_5c)" (identifier "CONCAT44") (argument_list "(local_58,local_5c)" (( "(") (identifier "local_58") (, ",") (identifier "local_5c") () ")")))) (; ";")) (if_statement "if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;\n              FUN_0007ac80();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc81" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc81")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191d06" (& "&") (identifier "LAB_00191d06"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;" (if "if") (parenthesized_expression "((*(byte *)(iVar10 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar10 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar10 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar10 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar10 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar10 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1c)" (( "(") (binary_expression "iVar10 + 0x1c" (identifier "iVar10") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00191c88;" (goto "goto") (statement_identifier "LAB_00191c88") (; ";"))) (expression_statement "bVar19 = local_5c < *(undefined **)(iVar10 + 4);" (assignment_expression "bVar19 = local_5c < *(undefined **)(iVar10 + 4)" (identifier "bVar19") (= "=") (binary_expression "local_5c < *(undefined **)(iVar10 + 4)" (identifier "local_5c") (< "<") (pointer_expression "*(undefined **)(iVar10 + 4)" (* "*") (cast_expression "(undefined **)(iVar10 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);" (assignment_expression "local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4)" (identifier "local_5c") (= "=") (binary_expression "local_5c + -(int)*(undefined **)(iVar10 + 4)" (identifier "local_5c") (+ "+") (unary_expression "-(int)*(undefined **)(iVar10 + 4)" (- "-") (cast_expression "(int)*(undefined **)(iVar10 + 4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(undefined **)(iVar10 + 4)" (* "*") (cast_expression "(undefined **)(iVar10 + 4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar10 + 4)" (( "(") (binary_expression "iVar10 + 4" (identifier "iVar10") (+ "+") (number_literal "4")) () ")")))))))) (; ";")) (expression_statement "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;" (assignment_expression "local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" (identifier "local_58") (= "=") (binary_expression "(local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19" (parenthesized_expression "(local_58 - *(int *)(iVar10 + 8))" (( "(") (binary_expression "local_58 - *(int *)(iVar10 + 8)" (identifier "local_58") (- "-") (pointer_expression "*(int *)(iVar10 + 8)" (* "*") (cast_expression "(int *)(iVar10 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 8)" (( "(") (binary_expression "iVar10 + 8" (identifier "iVar10") (+ "+") (number_literal "8")) () ")"))))) () ")")) (- "-") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (} "}")))) (} "}"))) (labeled_statement "LAB_00191288:\n        uStack_84 = uVar20;" (statement_identifier "LAB_00191288") (: ":") (expression_statement "uStack_84 = uVar20;" (assignment_expression "uStack_84 = uVar20" (identifier "uStack_84") (= "=") (identifier "uVar20")) (; ";"))) (if_statement "if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" (if "if") (parenthesized_expression "(pcVar1 != (code *)0xffffffff)" (( "(") (binary_expression "pcVar1 != (code *)0xffffffff" (identifier "pcVar1") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;\n          *(undefined4 *)(puVar17 + -8) = param_2;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(int *)(puVar17 + -0x14) = local_58;\n          *(undefined **)(puVar17 + -0x18) = local_5c;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;\n          FUN_0018e700();\n          uVar4 = uStack_84;\n        }" ({ "{") (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" (if "if") (parenthesized_expression "(local_6c <= (uint)((int)pcVar1 - local_70))" (( "(") (binary_expression "local_6c <= (uint)((int)pcVar1 - local_70)" (identifier "local_6c") (<= "<=") (call_expression "(uint)((int)pcVar1 - local_70)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pcVar1 - local_70)" (( "(") (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar1")) (- "-") (identifier "local_70")) () ")")))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xca1")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191c2a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191c2a")) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "local_7c + ((int)pcVar1 - local_70) * 0x18" (identifier "local_7c") (+ "+") (binary_expression "((int)pcVar1 - local_70) * 0x18" (parenthesized_expression "((int)pcVar1 - local_70)" (( "(") (binary_expression "(int)pcVar1 - local_70" (cast_expression "(int)pcVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar1")) (- "-") (identifier "local_70")) () ")")) (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x14) = local_58;" (assignment_expression "*(int *)(puVar17 + -0x14) = local_58" (pointer_expression "*(int *)(puVar17 + -0x14)" (* "*") (cast_expression "(int *)(puVar17 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = local_5c" (pointer_expression "*(undefined **)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" (* "*") (cast_expression "(int *)(puVar17 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1912c1")) (; ";")) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" (identifier "FUN_0018e700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (if_statement "if (local_60 != (code *)0xffffffff) {\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" (if "if") (parenthesized_expression "(local_60 != (code *)0xffffffff)" (( "(") (binary_expression "local_60 != (code *)0xffffffff" (identifier "local_60") (!= "!=") (cast_expression "(code *)0xffffffff" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }\n          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(int *)(puVar17 + -4) = iVar10;\n          *(undefined4 *)(puVar17 + -8) = param_3;\n          *(uint *)(puVar17 + -0xc) = local_50;\n          *(undefined ***)(puVar17 + -0x10) = local_54;\n          *(undefined8 *)(puVar17 + -0x18) = uStack_84;\n          *(int *)(puVar17 + -0x1c) = iVar15;\n          *(int *)(puVar17 + -0x20) = param_1;\n          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;\n          uStack_84 = uVar4;\n          FUN_0018e700();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_00191bd3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }\n        }" ({ "{") (if_statement "if (local_74 <= (uint)((int)local_60 - local_78)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" (if "if") (parenthesized_expression "(local_74 <= (uint)((int)local_60 - local_78))" (( "(") (binary_expression "local_74 <= (uint)((int)local_60 - local_78)" (identifier "local_74") (<= "<=") (call_expression "(uint)((int)local_60 - local_78)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_60 - local_78)" (( "(") (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (- "-") (identifier "local_78")) () ")")))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;\n            uStack_84 = uVar4;\n            FUN_0007ac80();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcaa")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_64 + -0xf854f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00191c0c" (& "&") (identifier "LAB_00191c0c"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;" (assignment_expression "iVar10 = local_48 + ((int)local_60 - local_78) * 0x18" (identifier "iVar10") (= "=") (binary_expression "local_48 + ((int)local_60 - local_78) * 0x18" (identifier "local_48") (+ "+") (binary_expression "((int)local_60 - local_78) * 0x18" (parenthesized_expression "((int)local_60 - local_78)" (( "(") (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (- "-") (identifier "local_78")) () ")")) (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "*(int *)(puVar17 + -4) = iVar10;" (assignment_expression "*(int *)(puVar17 + -4) = iVar10" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_54;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_54" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(undefined8 *)(puVar17 + -0x18) = uStack_84;" (assignment_expression "*(undefined8 *)(puVar17 + -0x18) = uStack_84" (pointer_expression "*(undefined8 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined8 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "uStack_84")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" (* "*") (cast_expression "(int *)(puVar17 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1912fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1912fe")) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" (identifier "FUN_0018e700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9 = *(int **)(*local_68 + 0xc);" (assignment_expression "piVar9 = *(int **)(*local_68 + 0xc)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(*local_68 + 0xc)" (* "*") (cast_expression "(int **)(*local_68 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_68 + 0xc)" (( "(") (binary_expression "*local_68 + 0xc" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar9 == (int *)0x0) goto LAB_00191bd3;" (if "if") (parenthesized_expression "(piVar9 == (int *)0x0)" (( "(") (binary_expression "piVar9 == (int *)0x0" (identifier "piVar9") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00191bd3;" (goto "goto") (statement_identifier "LAB_00191bd3") (; ";"))) (expression_statement "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);" (assignment_expression "ppuVar11 = *(undefined ***)(*piVar9 + 0x9c)" (identifier "ppuVar11") (= "=") (pointer_expression "*(undefined ***)(*piVar9 + 0x9c)" (* "*") (cast_expression "(undefined ***)(*piVar9 + 0x9c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar9 + 0x9c)" (( "(") (binary_expression "*piVar9 + 0x9c" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if (ppuVar11 != local_64 + -0xd3cc4) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" (if "if") (parenthesized_expression "(ppuVar11 != local_64 + -0xd3cc4)" (( "(") (binary_expression "ppuVar11 != local_64 + -0xd3cc4" (identifier "ppuVar11") (!= "!=") (binary_expression "local_64 + -0xd3cc4" (identifier "local_64") (+ "+") (number_literal "-0xd3cc4"))) () ")")) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x191658;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" ({ "{") (expression_statement "*(int *)(puVar17 + -8) = iVar10;" (assignment_expression "*(int *)(puVar17 + -8) = iVar10" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar15" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = piVar9;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar9" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191658;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191658" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191658")) (; ";")) (expression_statement "(*(code *)ppuVar11)();" (call_expression "(*(code *)ppuVar11)()" (parenthesized_expression "(*(code *)ppuVar11)" (( "(") (pointer_expression "*(code *)ppuVar11" (* "*") (cast_expression "(code *)ppuVar11" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar11"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_4c = (int *)*local_4c;" (assignment_expression "local_4c = (int *)*local_4c" (identifier "local_4c") (= "=") (cast_expression "(int *)*local_4c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_4c" (* "*") (identifier "local_4c")))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_4c != (int *)0x0)" (( "(") (binary_expression "local_4c != (int *)0x0" (identifier "local_4c") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "piVar9 = *(int **)(param_1 + 0x160);" (assignment_expression "piVar9 = *(int **)(param_1 + 0x160)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(param_1 + 0x160)" (* "*") (cast_expression "(int **)(param_1 + 0x160)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (if_statement "if (piVar9 == *(int **)(param_1 + 0x164)) {\n    return;\n  }" (if "if") (parenthesized_expression "(piVar9 == *(int **)(param_1 + 0x164))" (( "(") (binary_expression "piVar9 == *(int **)(param_1 + 0x164)" (identifier "piVar9") (== "==") (pointer_expression "*(int **)(param_1 + 0x164)" (* "*") (cast_expression "(int **)(param_1 + 0x164)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x164)" (( "(") (binary_expression "param_1 + 0x164" (identifier "param_1") (+ "+") (number_literal "0x164")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar15 = *piVar9;" (assignment_expression "iVar15 = *piVar9" (identifier "iVar15") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar15 + 0x10)" (* "*") (cast_expression "(int *)(iVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x10)" (( "(") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar10 != 0) {\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_4c = piVar9 + 1;\n    do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);\n  }" ({ "{") (expression_statement "local_4c = piVar9 + 1;" (assignment_expression "local_4c = piVar9 + 1" (identifier "local_4c") (= "=") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    } while (iVar10 != 0);" (do "do") (compound_statement "{\n      ppuVar11 = local_64;\n      if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }\n      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;\n      uStack_84 = uVar4;\n      if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }\n      ppuVar11 = local_64;\n      uVar4 = uStack_84;\n      if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }\n      if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }\n      iVar15 = *local_4c;\n      local_4c = local_4c + 1;\n      iVar10 = *(int *)(iVar15 + 0x10);\n    }" ({ "{") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (local_48 == 0) {\n        iVar18 = -1;\n      }\n      else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar18 = -1;\n      }" ({ "{") (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" (identifier "iVar18") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" (else "else") (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }\n      }" ({ "{") (expression_statement "iVar18 = *(int *)(iVar15 + 0x14);" (assignment_expression "iVar18 = *(int *)(iVar15 + 0x14)" (identifier "iVar18") (= "=") (pointer_expression "*(int *)(iVar15 + 0x14)" (* "*") (cast_expression "(int *)(iVar15 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar18 == 0) {\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00191b2e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;\n          FUN_0007ac80();\n        }" ({ "{") (labeled_statement "LAB_00191b2e:\n          ppuVar11 = local_64;" (statement_identifier "LAB_00191b2e") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df39" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df39" (identifier "local_64") (+ "+") (number_literal "-0x3df39"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x19a")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b4c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191b4c")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x2a) & 7;" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x2a) & 7" (identifier "bVar13") (= "=") (binary_expression "*(byte *)(iVar15 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar15 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x2a)" (( "(") (binary_expression "iVar15 + 0x2a" (identifier "iVar15") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (bVar13 == 3) {\n        uVar8 = 0xfff1;\n      }\n      else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" (if "if") (parenthesized_expression "(bVar13 == 3)" (( "(") (binary_expression "bVar13 == 3" (identifier "bVar13") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        uVar8 = 0xfff1;\n      }" ({ "{") (expression_statement "uVar8 = 0xfff1;" (assignment_expression "uVar8 = 0xfff1" (identifier "uVar8") (= "=") (number_literal "0xfff1")) (; ";")) (} "}")) (else_clause "else {\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" (else "else") (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }\n        uVar8 = 0;\n      }" ({ "{") (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" (if "if") (parenthesized_expression "(bVar13 != 4)" (( "(") (binary_expression "bVar13 != 4" (identifier "bVar13") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;\n          FUN_0007ac80();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xccb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xccb")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191bb5")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" (if "if") (parenthesized_expression "(iVar10 != -1)" (( "(") (binary_expression "iVar10 != -1" (identifier "iVar10") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }\n        local_50 = uVar8;\n        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_2;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;\n        FUN_0018e700();\n        uVar8 = local_50;\n      }" ({ "{") (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" (if "if") (parenthesized_expression "(local_6c <= (uint)(iVar10 - local_70))" (( "(") (binary_expression "local_6c <= (uint)(iVar10 - local_70)" (identifier "local_6c") (<= "<=") (call_expression "(uint)(iVar10 - local_70)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar10 - local_70)" (( "(") (binary_expression "iVar10 - local_70" (identifier "iVar10") (- "-") (identifier "local_70")) () ")")))) () ")")) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;\n          FUN_0007ac80();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcd1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcd1")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191bd3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191bd3")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_50 = uVar8;" (assignment_expression "local_50 = uVar8" (identifier "local_50") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "local_7c + (iVar10 - local_70) * 0x18" (identifier "local_7c") (+ "+") (binary_expression "(iVar10 - local_70) * 0x18" (parenthesized_expression "(iVar10 - local_70)" (( "(") (binary_expression "iVar10 - local_70" (identifier "iVar10") (- "-") (identifier "local_70")) () ")")) (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)(iVar15 + 0x28)" (* "*") (cast_expression "(byte *)(iVar15 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x28)" (( "(") (binary_expression "iVar15 + 0x28" (identifier "iVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar13 >> 4)" (( "(") (binary_expression "bVar13 >> 4" (identifier "bVar13") (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x34)" (( "(") (binary_expression "iVar15 + 0x34" (identifier "iVar15") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x30)" (( "(") (binary_expression "iVar15 + 0x30" (identifier "iVar15") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" (* "*") (cast_expression "(int *)(puVar17 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913af;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913af" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1913af")) (; ";")) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" (identifier "FUN_0018e700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = local_50;" (assignment_expression "uVar8 = local_50" (identifier "uVar8") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (if_statement "if (iVar18 != -1) {\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" (if "if") (parenthesized_expression "(iVar18 != -1)" (( "(") (binary_expression "iVar18 != -1" (identifier "iVar18") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }\n        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;\n        bVar13 = *(byte *)(iVar15 + 0x28);\n        *(undefined4 *)(puVar17 + -8) = param_3;\n        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);\n        *(uint *)(puVar17 + -0x10) = uVar8;\n        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);\n        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);\n        *(int *)(puVar17 + -0x1c) = iVar15;\n        *(int *)(puVar17 + -0x20) = param_1;\n        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;\n        FUN_0018e700();\n        uVar4 = uStack_84;\n      }" ({ "{") (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" (if "if") (parenthesized_expression "(local_74 <= (uint)(iVar18 - local_78))" (( "(") (binary_expression "local_74 <= (uint)(iVar18 - local_78)" (identifier "local_74") (<= "<=") (call_expression "(uint)(iVar18 - local_78)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar18 - local_78)" (( "(") (binary_expression "iVar18 - local_78" (identifier "iVar18") (- "-") (identifier "local_78")) () ")")))) () ")")) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;\n          FUN_0007ac80();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3dfa1" (identifier "local_64") (+ "+") (number_literal "-0x3dfa1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcdb" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcdb")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0xf854f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0xf854f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_00191c48" (pointer_expression "*(undefined **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00191c48" (& "&") (identifier "UNK_00191c48"))) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;" (assignment_expression "*(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18" (pointer_expression "*(int *)(puVar17 + -4)" (* "*") (cast_expression "(int *)(puVar17 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "local_48 + (iVar18 - local_78) * 0x18" (identifier "local_48") (+ "+") (binary_expression "(iVar18 - local_78) * 0x18" (parenthesized_expression "(iVar18 - local_78)" (( "(") (binary_expression "iVar18 - local_78" (identifier "iVar18") (- "-") (identifier "local_78")) () ")")) (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "bVar13 = *(byte *)(iVar15 + 0x28);" (assignment_expression "bVar13 = *(byte *)(iVar15 + 0x28)" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)(iVar15 + 0x28)" (* "*") (cast_expression "(byte *)(iVar15 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x28)" (( "(") (binary_expression "iVar15 + 0x28" (identifier "iVar15") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = param_3;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = param_3" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);" (assignment_expression "*(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4)" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (call_expression "(uint)(bVar13 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar13 >> 4)" (( "(") (binary_expression "bVar13 >> 4" (identifier "bVar13") (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar8;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar8" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34)" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0x34)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x34)" (( "(") (binary_expression "iVar15 + 0x34" (identifier "iVar15") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30)" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0x30)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x30)" (( "(") (binary_expression "iVar15 + 0x30" (identifier "iVar15") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x1c) = iVar15;" (assignment_expression "*(int *)(puVar17 + -0x1c) = iVar15" (pointer_expression "*(int *)(puVar17 + -0x1c)" (* "*") (cast_expression "(int *)(puVar17 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar17 + -0x20) = param_1" (pointer_expression "*(int *)(puVar17 + -0x20)" (* "*") (cast_expression "(int *)(puVar17 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1913ec" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1913ec")) (; ";")) (expression_statement "FUN_0018e700();" (call_expression "FUN_0018e700()" (identifier "FUN_0018e700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (if_statement "if (*(int **)(param_1 + 0x164) == local_4c) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int **)(param_1 + 0x164) == local_4c)" (( "(") (binary_expression "*(int **)(param_1 + 0x164) == local_4c" (pointer_expression "*(int **)(param_1 + 0x164)" (* "*") (cast_expression "(int **)(param_1 + 0x164)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x164)" (( "(") (binary_expression "param_1 + 0x164" (identifier "param_1") (+ "+") (number_literal "0x164")) () ")")))) (== "==") (identifier "local_4c")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar15 = *local_4c;" (assignment_expression "iVar15 = *local_4c" (identifier "iVar15") (= "=") (pointer_expression "*local_4c" (* "*") (identifier "local_4c"))) (; ";")) (expression_statement "local_4c = local_4c + 1;" (assignment_expression "local_4c = local_4c + 1" (identifier "local_4c") (= "=") (binary_expression "local_4c + 1" (identifier "local_4c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar10 = *(int *)(iVar15 + 0x10);" (assignment_expression "iVar10 = *(int *)(iVar15 + 0x10)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar15 + 0x10)" (* "*") (cast_expression "(int *)(iVar15 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x10)" (( "(") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00191b10:\n  ppuVar11 = local_64;" (statement_identifier "LAB_00191b10") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x3df83" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_64 + -0x3df83" (identifier "local_64") (+ "+") (number_literal "-0x3df83"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x180")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar11 + -0x10ebb6" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10ebb6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x191b2e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x191b2e")) (; ";")) (expression_statement "FUN_0007ac80();" (call_expression "FUN_0007ac80()" (identifier "FUN_0007ac80") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original name: sized_write_globals<64, true>
   DWARF original prototype: void sized_write_globals<64,_true>(Symbol_table * this, Stringpool *
   sympool, Stringpool * dynpool, Output_symtab_xindex * symtab_xindex, Output_symtab_xindex *
   dynsym_xindex, Output_file * of) */

void __thiscall
var_16::Symbol_table::sized_write_globals<64,var_61>
          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,
          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)

{
  type_2 *var_2;
  type_1 var_59;
  type_1 var_4;
  type_1 var_5;
  type_1 var_11;
  var_1<64> *pSVar6;
  type_2 *var_19;
  type_3 var_22;
  type_4 *var_26;
  type_5 *var_58;
  type_6 *pOVar11;
  type_7 *var_40;
  type_3 var_20;
  int var_10;
  type_8 _Var15;
  type_9 var_53;
  type_10 *pOVar17;
  type_3 var_25;
  type_1 var_12;
  type_11 *var_57;
  int var_8;
  char *format;
  int var_6;
  type_9 var_27;
  int extraout_EDX;
  type_1 shndx;
  type_12 var_28;
  type_13 *UNRECOVERED_JUMPTABLE;
  type_1 var_13;
  bool bVar26;
  type_7 *var_45;
  type_14 *var_63;
  type_3 var_24;
  type_1 var_50;
  int var_51;
  type_5 **var_31;
  type_12 local_50;
  type_15 *var_14;
  type_14 *var_23;
  int *var_43;
  type_1 var_44;
  type_16 var_49;
  
  var_2 = parameters->target_;
  if (var_2 == (type_2 *)0x0) {
LAB_00191bd3:
                    /* WARNING: Subroutine does not return */
    var_3("../../gold/parameters.h",0x69,"target");
  }
  var_59 = this->first_global_index_;
  var_4 = this->output_count_;
  var_6 = *(int *)((int)&this->offset_ + 4);
  var_5 = (type_1)this->offset_;
  if ((var_4 == 0) || (var_5 == 0 && var_6 == 0)) {
    var_63 = (type_14 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_1)var_7(var_4 * 0x18,var_5),
       var_11 = (type_1)((type_1)of->file_size_ < var_4 * 0x18 + var_5), var_10 = var_8 - var_6,
       (var_9(var_8,var_6) != var_9(var_10,var_11)) != (int)(var_10 - var_11) < 0))
    goto LAB_00191ca6;
    var_63 = of->base_ + var_5;
  }
  var_5 = this->first_dynamic_global_index_;
  var_11 = this->dynamic_count_;
  var_6 = *(int *)((int)&this->dynamic_offset_ + 4);
  var_12 = (type_1)this->dynamic_offset_;
  if ((var_11 == 0) || (var_12 == 0 && var_6 == 0)) {
    var_23 = (type_14 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_1)var_7(var_11 * 0x18,var_12),
       var_13 = (type_1)((type_1)of->file_size_ < var_11 * 0x18 + var_12), var_10 = var_8 - var_6,
       (var_9(var_8,var_6) != var_9(var_10,var_13)) != (int)(var_10 - var_13) < 0)) {
LAB_00191ca6:
                    /* WARNING: Subroutine does not return */
      var_3("../../gold/output.h",0x6f,"get_output_view");
    }
    var_23 = of->base_ + var_12;
  }
  var_14 = (this->table_)._M_h._M_before_begin._M_nxt;
  if (var_14 != (type_15 *)0x0) {
    UNRECOVERED_JUMPTABLE = (type_13 *)((int)&_GLOBAL_OFFSET_TABLE_ + var_15);
    do {
      pSVar6 = (var_1<64> *)var_14[3]._M_nxt;
      if ((((((pSVar6->super_Symbol).field_0x2a & 7) == 0) &&
           (pOVar17 = (pSVar6->super_Symbol).u1_.output_segment,
           ((type_1)pOVar17->output_lists_[3].
                  super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>.
                  _M_impl._M_end_of_storage & 1) != 0)) && ((pSVar6->super_Symbol).u2_.shndx == 0))
         && ((type_9)(pSVar6->super_Symbol).field_0x28 >> 4 != 2)) {
        if (parameters->options_ == (type_4 *)0x0) goto LAB_00191b7c;
        if ((parameters->options_->allow_shlib_undefined_).value == false) {
          var_19 = parameters->target_;
          if (var_19 == (type_2 *)0x0) goto LAB_00191bd3;
          if (var_19->_vptr_Target[7] != type_2::do_is_defined_by_abi) {
            var_6 = (*var_19->_vptr_Target[7])(var_19,pSVar6);
            if ((char)var_6 != '\0') goto LAB_00191160;
            if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) goto LAB_001919e8;
            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;
          }
          if (((type_1)pOVar17->output_lists_[3].
                     super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>.
                     _M_impl._M_end_of_storage & 0x20) == 0) {
            var_20 = pOVar17->output_lists_[7].
                       super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>.
                       _M_impl._M_end_of_storage;
            if (var_20 == (type_3)0x0) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/dynobj.h",0x3e,"has_unknown_needed_entries");
            }
            if (var_20 != (type_3)0x1) {
              var_21((type_17 *)pSVar6);
            }
          }
        }
      }
LAB_00191160:
      var_22 = (type_3)(pSVar6->super_Symbol).symtab_index_;
      if (var_22 == (type_3)0x0) goto LAB_00191b10;
      if (var_23 == (type_14 *)0x0) {
        var_24 = (type_3)0xffffffff;
        var_25 = var_22;
      }
      else {
        var_24 = (type_3)(pSVar6->super_Symbol).dynsym_index_;
        if (var_24 == (type_3)0x0) goto LAB_00191b2e;
        var_25 = (type_3)((type_1)var_24 & (type_1)var_22);
      }
      if (var_25 != (type_3)0xffffffff) {
        var_50 = (type_1)pSVar6->value_;
        var_51 = *(int *)((int)&pSVar6->value_ + 4);
        var_28 = (type_12)((type_9)(pSVar6->super_Symbol).field_0x28 >> 4);
        var_26 = parameters->options_;
        if (var_26 == (type_4 *)0x0) goto LAB_00191b7c;
        var_27 = (pSVar6->super_Symbol).field_0x2a;
        var_53 = var_27 & 7;
        var_12 = var_50;
        var_6 = var_51;
        if (((var_26->weak_unresolved_symbols_).value == false) || (var_28 != var_29)) {
          local_50 = var_28;
          if ((var_28 == var_30) &&
             (local_50 = var_29, (var_26->gnu_unique_).value != false)) {
            local_50 = var_28;
          }
          switch(var_53) {
          case 0:
            if ((var_27 & 7) != 0) goto _L2031;
            var_31 = (type_5 **)(pSVar6->super_Symbol).u2_.shndx;
            var_27 = (type_9)(pSVar6->super_Symbol).field_0x2b >> 5;
            if ((var_31 != (type_5 **)0xfff1) && ((var_27 & 1) != 1)) {
              bVar26 = type_17::var_32((type_1)var_31);
              if (!bVar26) {
                var_33(&var_49,(pSVar6->super_Symbol).name_);
                _Var15._M_p = var_49._M_dataplus._M_p;
                format = (char *)var_34("%s: unsupported symbol section 0x%x");
                    /* try { // try from 0019191c to 00191920 has its CatchHandler @ 00191d59 */
                var_35(format,_Var15._M_p,var_31);
                if ((anon_union_16_2_edb7204a_for_basic_string<var_37,var_17::char_traits<var_37>,var_17::var_36<var_37>var_18>var_38
                     *)var_49._M_dataplus._M_p != &var_49.field_2) {
                  var_39(var_49._M_dataplus._M_p);
                }
                break;
              }
              if (((pSVar6->super_Symbol).field_0x2a & 7) != 0) {
LAB_001919e8:
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/symtab.h",0xa1,"object");
              }
            }
            pOVar17 = (pSVar6->super_Symbol).u1_.output_segment;
            if (((type_1)pOVar17->output_lists_[3].
                       super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>.
                       _M_impl._M_end_of_storage & 1) == 0) {
              var_8 = (*(type_13 *)pOVar17->output_lists_[0].
                                 super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>
                                 ._M_impl._M_start[5])(pOVar17);
              if ((var_31 == (type_5 **)0x0) || (var_8 != 0)) goto _L2096;
              if (((var_27 & 1) != 0) ||
                 ((var_31 != (type_5 **)0xfff1 &&
                  (bVar26 = type_17::var_32((type_1)var_31), !bVar26)))) {
                var_40 = pOVar17->output_lists_[0].
                          super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>
                          ._M_impl._M_start[0x18];
                if (var_40 == (type_7 *)type_18::do_output_section) {
                  var_20 = pOVar17->output_lists_[4].
                             super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>
                             ._M_impl._M_end_of_storage;
                  if ((type_5 **)
                      ((int)pOVar17->output_lists_[5].
                            super__Vector_base<var_16::type_7*,var_17::var_36<var_16::type_7*>var_18>
                            ._M_impl._M_start - (int)var_20 >> 2) <= var_31) goto LAB_00191d06;
                  var_45 = var_20[(int)var_31];
                }
                else {
                  var_45 = (type_7 *)(*(type_13 *)var_40)(pOVar17,var_31);
                }
                bVar26 = var_41(this,(type_18 *)pOVar17,(type_1)var_31);
                if (bVar26) {
                  Icf::var_42(this->icf_,(type_18 *)pOVar17,(type_1)var_31);
                  if (var_43 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
                    var_3("../../gold/symtab.cc",0xc53,"sized_write_globals");
                  }
                  if (*(type_13 **)(*var_43 + 0x60) == type_18::do_output_section) {
                    if ((type_1)(var_43[0xf] - var_43[0xe] >> 2) <= var_44) {
LAB_00191d06:
                    /* WARNING: Subroutine does not return */
                      var_3("../../gold/object.h",0x5c8,"do_output_section");
                    }
                    var_45 = *(type_7 **)(var_43[0xe] + var_44 * 4);
                  }
                  else {
                    var_45 = (type_7 *)(**(type_13 **)(*var_43 + 0x60))(var_43,var_44);
                  }
                  if (var_45 == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    var_3("../../gold/symtab.cc",0xc57,"sized_write_globals");
                  }
                }
                else if (var_45 == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
                  var_3("../../gold/symtab.cc",0xc59,"sized_write_globals");
                }
                if (var_45->_vptr_Output_data[0xb] == type_11::do_out_shndx) {
                  var_31 = var_45[3]._vptr_Output_data;
                  if (var_31 == (type_5 **)0xffffffff) goto LAB_00191d3b;
                }
                else {
                  var_31 = (type_5 **)(*var_45->_vptr_Output_data[0xb])(var_45);
                }
                if ((type_5 **)0xfeff < var_31) {
                  if (var_22 != (type_3)0xffffffff) {
                    var_49._M_string_length = (type_19)var_31;
                    var_49._M_dataplus._M_p = var_22;
                    std::
                    vector<std::var_46<var_47,var_48>,var_17::var_36<std::var_46<var_47,var_48>var_18>var_18>
                    ::emplace_back<std::var_46<var_47,var_48>var_18>
                              (&symtab_xindex->entries_,
                               (var_46<var_47,var_48> *)&var_49);
                  }
                  if (var_24 == (type_3)0xffffffff) {
                    var_31 = (type_5 **)0xffff;
                  }
                  else {
                    var_49._M_dataplus._M_p = var_24;
                    var_49._M_string_length = (type_19)var_31;
                    std::
                    vector<std::var_46<var_47,var_48>,var_17::var_36<std::var_46<var_47,var_48>var_18>var_18>
                    ::emplace_back<std::var_46<var_47,var_48>var_18>
                              (&dynsym_xindex->entries_,
                               (var_46<var_47,var_48> *)&var_49);
                    var_31 = (type_5 **)0xffff;
                  }
                }
                if (parameters->options_ == (type_4 *)0x0) goto LAB_00191b7c;
                if ((parameters->options_->relocatable_).value != false) {
                  if ((var_45->field_0x1c & 1) == 0) goto LAB_00191c88;
                  var_13 = (type_1)var_45->address_;
                  bVar26 = var_50 < var_13;
                  var_50 = var_50 - var_13;
                  var_51 = var_51 + (-(type_1)bVar26 - *(int *)((int)&var_45->address_ + 4));
                }
              }
            }
            else {
              if (((pSVar6->super_Symbol).field_0x2b & 2) != 0) {
                var_12 = (*var_2->_vptr_Target[5])(var_2,pSVar6);
                var_6 = extraout_EDX;
              }
              var_31 = (type_5 **)0x0;
              local_50 = var_52 - (((type_9)(pSVar6->super_Symbol).field_0x2c >> 1 & 1) == 0);
            }
            break;
          case 1:
            goto LAB_001914e3;
          case 2:
            goto LAB_00191453;
          case 3:
_L2103:
            var_31 = (type_5 **)0xfff1;
            break;
          case 4:
_L2096:
            var_31 = (type_5 **)0x0;
            break;
          default:
            goto LAB_00191b4c;
          }
        }
        else {
          if (var_53 == 0) {
            if (((pSVar6->super_Symbol).u2_.shndx == 0) &&
               (((type_9)(pSVar6->super_Symbol).field_0x2b >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(type_13 *)((int)&_GLOBAL_OFFSET_TABLE_ + var_54))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*UNRECOVERED_JUMPTABLE)();
            return;
          }
          if (var_53 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(type_13 *)((int)&_GLOBAL_OFFSET_TABLE_ + var_55))();
            return;
          }
                    /* WARNING: Could not find normalized switch variable to match jumptable */
          switch(var_53) {
          case 0:
_L2031:
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/symtab.h",0xaa,"shndx");
          case 1:
            local_50 = var_29;
LAB_001914e3:
            if ((var_27 & 7) != 1) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/symtab.h",0xb5,"output_data");
            }
            pOVar11 = (pSVar6->super_Symbol).u1_.object;
            var_31 = (type_5 **)(*pOVar11->_vptr_Object[0xb])(pOVar11);
            if ((type_5 **)0xfeff < var_31) {
              if (var_22 != (type_3)0xffffffff) {
                var_49._M_dataplus._M_p = var_22;
                var_49._M_string_length = (type_19)var_31;
                std::
                vector<std::var_46<var_47,var_48>,var_17::var_36<std::var_46<var_47,var_48>var_18>var_18>
                ::emplace_back<std::var_46<var_47,var_48>var_18>
                          (&symtab_xindex->entries_,(var_46<var_47,var_48> *)&var_49);
              }
              if (var_24 == (type_3)0xffffffff) {
                var_31 = (type_5 **)0xffff;
              }
              else {
                var_49._M_dataplus._M_p = var_24;
                var_49._M_string_length = (type_19)var_31;
                std::
                vector<std::var_46<var_47,var_48>,var_17::var_36<std::var_46<var_47,var_48>var_18>var_18>
                ::emplace_back<std::var_46<var_47,var_48>var_18>
                          (&dynsym_xindex->entries_,(var_46<var_47,var_48> *)&var_49);
                var_31 = (type_5 **)0xffff;
              }
            }
            if (parameters->options_ == (type_4 *)0x0) {
LAB_00191b7c:
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->relocatable_).value != false) {
              var_8 = (*pOVar11->_vptr_Object[9])(pOVar11);
              if (var_8 == 0) {
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/symtab.cc",0xc81,"sized_write_globals");
              }
              if ((*(type_9 *)(var_8 + 0x1c) & 1) == 0) {
LAB_00191c88:
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/output.h",0xc5,"address");
              }
              bVar26 = var_50 < *(type_1 *)(var_8 + 4);
              var_50 = var_50 - *(type_1 *)(var_8 + 4);
              var_51 = var_51 + (-(type_1)bVar26 - *(int *)(var_8 + 8));
            }
            break;
          case 2:
            local_50 = var_29;
LAB_00191453:
            if ((var_27 & 7) != 2) {
                    /* WARNING: Subroutine does not return */
              var_3("../../gold/symtab.h",200,"output_segment");
            }
            var_57 = type_10::var_56((pSVar6->super_Symbol).u1_.output_segment);
            if (var_57 == (type_11 *)0x0) goto _L2103;
            var_58 = (var_57->super_Output_data)._vptr_Output_data[0xb];
            if (var_58 == type_11::do_out_shndx) {
              var_31 = (type_5 **)var_57->out_shndx_;
              if (var_31 == (type_5 **)0xffffffff) {
LAB_00191d3b:
                    /* WARNING: Subroutine does not return */
                var_3("../../gold/output.h",0x1043,"do_out_shndx");
              }
            }
            else {
              var_31 = (type_5 **)(*var_58)(var_57);
            }
            break;
          case 3:
            local_50 = var_29;
            var_31 = (type_5 **)0xfff1;
            break;
          case 4:
                    /* WARNING: This code block may not be properly labeled as switch case */
            local_50 = var_29;
            var_31 = (type_5 **)0x0;
            break;
          default:
LAB_00191b4c:
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/symtab.cc",0xc9b,"sized_write_globals");
          }
        }
        if (var_22 != (type_3)0xffffffff) {
          var_13 = (int)var_22 - var_59;
          if (var_4 <= var_13) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/symtab.cc",0xca1,"sized_write_globals");
          }
          var_60<64,var_61>
                    (this,pSVar6,var_62(var_51,var_50),(type_1)var_31,local_50,sympool,
                     var_63 + var_13 * 0x18);
        }
        if (var_24 != (type_3)0xffffffff) {
          var_13 = (int)var_24 - var_5;
          if (var_11 <= var_13) {
                    /* WARNING: Subroutine does not return */
            var_3("../../gold/symtab.cc",0xcaa,"sized_write_globals");
          }
          var_60<64,var_61>
                    (this,pSVar6,var_62(var_6,var_12),(type_1)var_31,local_50,dynpool,
                     var_23 + var_13 * 0x18);
          var_19 = parameters->target_;
          if (var_19 == (type_2 *)0x0) goto LAB_00191bd3;
          if (var_19->_vptr_Target[0x27] != type_2::do_adjust_dyn_symbol) {
            (*var_19->_vptr_Target[0x27])(var_19,pSVar6,var_23 + var_13 * 0x18);
          }
        }
      }
      var_14 = var_14->_M_nxt;
    } while (var_14 != (type_15 *)0x0);
  }
  var_14 = (type_15 *)
             (this->target_symbols_).
             super__Vector_base<var_16::type_17*,var_17::var_36<var_16::type_17*>var_18>._M_impl._M_start;
  if (var_14 ==
      (type_15 *)
      (this->target_symbols_).super__Vector_base<var_16::type_17*,var_17::var_36<var_16::type_17*>var_18>.
      _M_impl._M_finish) {
    return;
  }
  pSVar6 = *(var_1<64> **)var_14;
  var_12 = (pSVar6->super_Symbol).symtab_index_;
  while (var_12 != 0) {
    var_14 = (type_15 *)((type_3)var_14 + 1);
    if (var_23 == (type_14 *)0x0) {
      var_13 = 0xffffffff;
    }
    else {
      var_13 = (pSVar6->super_Symbol).dynsym_index_;
      if (var_13 == 0) {
LAB_00191b2e:
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/symtab.h",0x19a,"dynsym_index");
      }
    }
    var_27 = (pSVar6->super_Symbol).field_0x2a & 7;
    if (var_27 == 3) {
      shndx = 0xfff1;
    }
    else {
      if (var_27 != 4) {
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/symtab.cc",0xccb,"sized_write_globals");
      }
      shndx = 0;
    }
    if (var_12 != 0xffffffff) {
      var_12 = var_12 - var_59;
      if (var_4 <= var_12) {
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/symtab.cc",0xcd1,"sized_write_globals");
      }
      var_60<64,var_61>
                (this,pSVar6,pSVar6->value_,shndx,
                 (type_1)((type_9)(pSVar6->super_Symbol).field_0x28 >> 4),sympool,
                 var_63 + var_12 * 0x18);
    }
    if (var_13 != 0xffffffff) {
      var_13 = var_13 - var_5;
      if (var_11 <= var_13) {
                    /* WARNING: Subroutine does not return */
        var_3("../../gold/symtab.cc",0xcdb,"sized_write_globals");
      }
      var_60<64,var_61>
                (this,pSVar6,pSVar6->value_,shndx,
                 (type_1)((type_9)(pSVar6->super_Symbol).field_0x28 >> 4),dynpool,
                 var_23 + var_13 * 0x18);
    }
    if ((type_15 *)
        (this->target_symbols_).super__Vector_base<var_16::type_17*,var_17::var_36<var_16::type_17*>var_18>.
        _M_impl._M_finish == var_14) {
      return;
    }
    pSVar6 = *(var_1<64> **)var_14;
    var_12 = (pSVar6->super_Symbol).symtab_index_;
  }
LAB_00191b10:
                    /* WARNING: Subroutine does not return */
  var_3("../../gold/symtab.h",0x180,"symtab_index");
}


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

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

void MASKED(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,
                 int param_6)

{
  code *pcVar1;
  uint uVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined **ppuVar5;
  char cVar6;
  code *pcVar7;
  uint uVar8;
  int *piVar9;
  int iVar10;
  undefined **ppuVar11;
  undefined4 uVar12;
  int in_ECX;
  byte bVar13;
  byte bVar14;
  int iVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  int iVar18;
  bool bVar19;
  undefined8 uVar20;
  int aiStackY_b4 [2];
  undefined1 auStack_9c [12];
  int *local_90;
  code *local_8c;
  undefined **ppuStack_88;
  undefined8 uStack_84;
  int local_7c;
  int local_78;
  uint local_74;
  int local_70;
  uint local_6c;
  int *local_68;
  undefined **local_64;
  code *local_60;
  undefined *local_5c;
  int local_58;
  undefined **local_54;
  uint local_50;
  int *local_4c;
  int local_48;
  int *piStack_44;
  undefined **ppuStack_40;
  code *pcStack_34;
  undefined **ppuStack_30;
  undefined1 auStack_2c [28];
  
  uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
  local_64 = &__DT_PLTGOT;
  puVar17 = auStack_9c;
  local_68 = &DAT_003aa3e8;
  local_90 = *(int **)(DAT_003aa3e8 + 0xc);
  uStack_84 = uVar4;
  if (local_90 == (int *)0x0) {
LAB_00191bd3:
    ppuVar11 = local_64;
    *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5c;
    *(undefined4 *)(puVar17 + -0xc) = 0x69;
    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar17 + -0x14) = &LAB_00191bee;
    FUN_0007ac80();
  }
  local_70 = *(int *)(param_1 + 4);
  local_6c = *(uint *)(param_1 + 0x10);
  iVar15 = *(int *)(param_1 + 0xc);
  uVar8 = *(uint *)(param_1 + 8);
  if ((local_6c == 0) || (uVar8 == 0 && iVar15 == 0)) {
    local_7c = 0;
  }
  else {
    if ((iVar15 < 0) ||
       (iVar15 = iVar15 + (uint)CARRY4(local_6c * 0x18,uVar8),
       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_6c * 0x18 + uVar8),
       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0))
    goto LAB_00191ca6;
    local_7c = *(int *)(param_6 + 0x10) + uVar8;
  }
  local_78 = *(int *)(param_1 + 0x1c);
  local_74 = *(uint *)(param_1 + 0x20);
  iVar15 = *(int *)(param_1 + 0x18);
  uVar8 = *(uint *)(param_1 + 0x14);
  if ((local_74 == 0) || (uVar8 == 0 && iVar15 == 0)) {
    local_48 = 0;
  }
  else {
    if ((iVar15 < 0) ||
       (iVar15 = iVar15 + (uint)CARRY4(local_74 * 0x18,uVar8),
       uVar2 = (uint)(*(uint *)(param_6 + 8) < local_74 * 0x18 + uVar8),
       iVar10 = *(int *)(param_6 + 0xc) - iVar15, in_ECX = iVar10 - uVar2,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar15) != SBORROW4(iVar10,uVar2)) != in_ECX < 0)) {
LAB_00191ca6:
                    /* WARNING: Subroutine does not return */
      FUN_0007ac80("../../gold/output.h",0x6f,"get_output_view",in_ECX);
    }
    local_48 = *(int *)(param_6 + 0x10) + uVar8;
  }
  local_4c = *(int **)(param_1 + 0x2c);
  puVar17 = auStack_9c;
  if (local_4c != (int *)0x0) {
    local_8c = (code *)((int)&__DT_PLTGOT + DAT_002b1dd0);
    puVar17 = auStack_9c;
    do {
      iVar15 = local_4c[3];
      uVar4 = uStack_84;
      if (((((*(byte *)(iVar15 + 0x2a) & 7) == 0) &&
           (iVar10 = *(int *)(iVar15 + 8), (*(byte *)(iVar10 + 0x2c) & 1) != 0)) &&
          (*(int *)(iVar15 + 0xc) == 0)) && (*(byte *)(iVar15 + 0x28) >> 4 != 2)) {
        iVar18 = *(int *)(*local_68 + 8);
        if (iVar18 == 0) goto LAB_00191b7c;
        if (*(char *)(iVar18 + 0x1fd) == '\0') {
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_00191bd3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);
          if (ppuVar11 != local_64 + -0xd3ce8) {
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1919d3;
            cVar6 = (*(code *)ppuVar11)();
            uVar4 = uStack_84;
            if (cVar6 != '\0') goto LAB_00191160;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001919e8;
            iVar10 = *(int *)(iVar15 + 8);
          }
          if ((*(byte *)(iVar10 + 0x2c) & 0x20) == 0) {
            uStack_84 = uVar4;
            if (*(int *)(iVar10 + 0x5c) == 0) {
              *(undefined4 *)(puVar17 + -4) = 0;
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7b;
              *(undefined4 *)(puVar17 + -0xc) = 0x3e;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10a0b5;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d3b;
              FUN_0007ac80();
            }
            if (*(int *)(iVar10 + 0x5c) != 1) {
              *(int *)(puVar17 + -0x10) = iVar15;
              *(undefined4 *)(puVar17 + -0x14) = 0x191966;
              FUN_00071e80();
              uVar4 = uStack_84;
            }
          }
        }
      }
LAB_00191160:
      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
      pcVar1 = *(code **)(iVar15 + 0x10);
      if (pcVar1 == (code *)0x0) goto LAB_00191b10;
      if (local_48 == 0) {
        local_60 = (code *)0xffffffff;
        pcVar7 = pcVar1;
      }
      else {
        local_60 = *(code **)(iVar15 + 0x14);
        if (local_60 == (code *)0x0) goto LAB_00191b2e;
        pcVar7 = (code *)((uint)local_60 & (uint)pcVar1);
      }
      if (pcVar7 != (code *)0xffffffff) {
        piVar9 = (int *)(iVar15 + 0x30);
        local_5c = (undefined *)*piVar9;
        local_58 = *(int *)(iVar15 + 0x34);
        uVar20 = *(undefined8 *)piVar9;
        local_50 = (uint)(*(byte *)(iVar15 + 0x28) >> 4);
        iVar10 = *(int *)(*local_68 + 8);
        if (iVar10 == 0) goto LAB_00191b7c;
        bVar13 = *(byte *)(iVar15 + 0x2a);
        uVar8 = bVar13 & 7;
        bVar14 = (byte)uVar8;
        uStack_84 = uVar4;
        if ((*(char *)(iVar10 + 0x49b1) != '\0') && (local_50 == 1)) {
          if (bVar14 == 0) {
            local_54 = *(undefined ***)(iVar15 + 0xc);
            if ((local_54 == (undefined **)0x0) && ((*(byte *)(iVar15 + 0x2b) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001918d9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_64 + (int)local_64[-0x3e07d]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001915fe. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar14 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001917fd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_64 + (int)local_64[-0x3e083]))();
            return;
          }
          if (4 < bVar14) goto LAB_00191b4c;
          switch(local_64[uVar8 - 0x3e082] + (int)local_64) {
          case (undefined *)0x191610:
            local_50 = 1;
            local_54 = (undefined **)0x0;
            uVar20 = *(undefined8 *)piVar9;
            break;
          case (undefined *)0x191630:
            local_50 = 1;
            local_54 = (undefined **)0xfff1;
            break;
          case (undefined *)0x191840:
            local_50 = 1;
            goto code_r0x001914e3;
          case (undefined *)0x191850:
            local_50 = 1;
            goto code_r0x00191453;
          case (undefined *)0x191c48:
code_r0x00191c48:
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3de56;
            *(undefined4 *)(puVar17 + -0xc) = 0xaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c66;
            FUN_0007ac80();
          }
          goto LAB_00191288;
        }
        uVar2 = local_50;
        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {
          uVar2 = local_50;
        }
        local_50 = uVar2;
        if (4 < bVar14) {
LAB_00191b4c:
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;
          *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar17 + -0x14) = &LAB_00191b6a;
          FUN_0007ac80();
        }
        switch(local_64[uVar8 - 0x3e091] + (int)local_64) {
        case (undefined *)0x191210:
          if ((bVar13 & 7) != 0) goto code_r0x00191c48;
          uStack_84._0_4_ = *(undefined ***)(iVar15 + 0xc);
          bVar14 = *(byte *)(iVar15 + 0x2b) >> 5;
          bVar13 = bVar14 & 1;
          local_54 = (undefined **)uStack_84;
          if (((undefined **)uStack_84 != (undefined **)0xfff1) && (bVar13 != 1)) {
            *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
            ppuStack_88 = (undefined **)(CONCAT31(ppuStack_88._1_3_,bVar14) & 0xffffff01);
            *(undefined4 *)(puVar17 + -0x14) = 0x191882;
            cVar6 = FUN_00188890();
            if (cVar6 == '\0') {
              ppuStack_88 = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -4) = 0x1918f0;
              FUN_00189b80();
              uStack_84._0_4_ = (undefined **)pcStack_34;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x3e0e5;
              *(undefined4 *)(puVar17 + -0x14) = 0x19190a;
              uVar12 = gettext();
              *(undefined ***)(puVar17 + -8) = ppuStack_88;
              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -0x10) = uVar12;
              *(undefined4 *)(puVar17 + -0x14) = 0x191921;
              FUN_00071a80();
              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
              uVar20 = CONCAT44(local_58,local_5c);
              if (pcStack_34 != (code *)auStack_2c) {
                *(code **)(puVar17 + -0x10) = pcStack_34;
                *(undefined4 *)(puVar17 + -0x14) = 0x19193e;
                FUN_001fd020();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
              }
              break;
            }
            bVar13 = (byte)ppuStack_88;
            uVar4 = uStack_84;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) {
LAB_001919e8:
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3de5e;
              *(undefined4 *)(puVar17 + -0xc) = 0xa1;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar17 + -0x14) = &UNK_00191a06;
              FUN_0007ac80();
            }
          }
          uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
          uVar20 = CONCAT44(local_58,local_5c);
          piVar9 = *(int **)(iVar15 + 8);
          if ((*(byte *)(piVar9 + 0xb) & 1) == 0) {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            ppuStack_88 = (undefined **)CONCAT31(ppuStack_88._1_3_,bVar13);
            pcVar7 = *(code **)(iVar10 + 0x14);
            *(undefined4 *)(puVar17 + -0x14) = 0x191672;
            iVar10 = (*pcVar7)();
            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001914b0;
            if ((byte)ppuStack_88 == '\0') {
              uVar20 = CONCAT44(local_58,local_5c);
              if ((undefined **)uStack_84 != (undefined **)0xfff1) {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x1916b1;
                cVar6 = FUN_00188890();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
                if (cVar6 == '\0') goto LAB_001916bf;
              }
            }
            else {
LAB_001916bf:
              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);
              ppuStack_88 = local_64 + -0xd3a08;
              if (ppuVar11 == ppuStack_88) {
                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);
                puVar16 = puVar17;
                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_00191d06;
                local_54 = (undefined **)uStack_84;
                uStack_84._0_4_ = *(undefined ***)(piVar9[0xe] + (int)(undefined **)uStack_84 * 4);
              }
              else {
                local_54 = (undefined **)uStack_84;
                *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
                *(int **)(puVar17 + -0x10) = piVar9;
                *(undefined4 *)(puVar17 + -0x14) = 0x191ac1;
                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
              }
              *(undefined ***)(puVar17 + -8) = local_54;
              *(int **)(puVar17 + -0xc) = piVar9;
              *(int *)(puVar17 + -0x10) = param_1;
              *(undefined4 *)(puVar17 + -0x14) = 0x191704;
              cVar6 = FUN_00188c90();
              if (cVar6 == '\0') {
                puVar16 = puVar17;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(undefined ***)(puVar17 + -4) = local_54;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;
                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x191cdb;
                  FUN_0007ac80();
                }
              }
              else {
                *(undefined ***)(puVar17 + -4) = local_54;
                *(int **)(puVar17 + -8) = piVar9;
                *(undefined4 *)(puVar17 + -0xc) = *(undefined4 *)(param_1 + 0x15c);
                *(int ***)(puVar17 + -0x10) = &piStack_44;
                *(undefined4 *)(puVar17 + -0x14) = 0x191a33;
                FUN_0007e180();
                puVar16 = puVar17 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(undefined4 *)(puVar17 + -8) = 0;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_00191c82;
                  FUN_0007ac80();
                }
                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar11 == ppuStack_88) {
                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);
                  if (ppuVar11 <= ppuStack_40) {
LAB_00191d06:
                    ppuVar5 = local_64;
                    *(undefined ***)(puVar16 + -4) = ppuVar11;
                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x3de71;
                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;
                    *(int *)(puVar16 + -0x10) = (int)ppuVar5 + -0x10ec7b;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar16 + -0x14) = 0x191d22;
                    FUN_0007ac80();
                  }
                  uStack_84._0_4_ = *(undefined ***)(piStack_44[0xe] + (int)ppuStack_40 * 4);
                }
                else {
                  *(undefined ***)(puVar17 + -0x10) = ppuStack_40;
                  *(int **)(puVar17 + -0x14) = piStack_44;
                  *(undefined4 *)(puVar17 + -0x18) = 0x191b71;
                  uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
                }
                puVar16 = puVar17 + -4;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(int *)(puVar17 + -8) = iVar15;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x3dfa1;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_00191a95;
                  FUN_0007ac80();
                }
              }
              puVar17 = puVar16;
              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);
              if (ppuVar11 == local_64 + -0xc8ef8) {
                local_54 = (undefined **)((undefined **)uStack_84)[0x18];
                if (local_54 == (undefined **)0xffffffff) {
LAB_00191d3b:
                  ppuVar11 = local_64;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df7f;
                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;
                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d59;
                  FUN_0007ac80();
                }
              }
              else {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x191aac;
                local_54 = (undefined **)(*(code *)ppuVar11)();
              }
              if ((undefined **)0xfeff < local_54) {
                if (pcVar1 != (code *)0xffffffff) {
                  ppuStack_30 = local_54;
                  *(code ***)(puVar17 + -0xc) = &pcStack_34;
                  *(int *)(puVar17 + -0x10) = param_4 + 0x2c;
                  *(undefined4 *)(puVar17 + -0x14) = 0x19176d;
                  pcStack_34 = pcVar1;
                  FUN_000910c0();
                }
                if (local_60 == (code *)0xffffffff) {
                  local_54 = (undefined **)0xffff;
                }
                else {
                  pcStack_34 = local_60;
                  ppuStack_30 = local_54;
                  *(code ***)(puVar17 + -0xc) = &pcStack_34;
                  *(int *)(puVar17 + -0x10) = param_5 + 0x2c;
                  *(undefined4 *)(puVar17 + -0x14) = 0x191798;
                  FUN_000910c0();
                  local_54 = (undefined **)0xffff;
                }
              }
              uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
              uVar20 = CONCAT44(local_58,local_5c);
              uVar3 = CONCAT44(local_58,local_5c);
              if (*(int *)(*local_68 + 8) == 0) {
LAB_00191b7c:
                ppuVar11 = local_64;
                uStack_84 = uVar4;
                *(undefined ***)(puVar17 + -8) = local_64 + -0x3de4e;
                *(undefined4 *)(puVar17 + -0xc) = 0x5c;
                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x113d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar17 + -0x14) = 0x191b97;
                FUN_0007ac80();
              }
              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {
LAB_00191c88:
                  ppuVar11 = local_64;
                  uStack_84 = uVar4;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df47;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;
                  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ec8f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x191ca6;
                  FUN_0007ac80();
                }
                bVar19 = local_5c < ((undefined **)uStack_84)[1];
                local_5c = local_5c + -(int)((undefined **)uStack_84)[1];
                local_58 = (local_58 - (int)((undefined **)uStack_84)[2]) - (uint)bVar19;
                uVar20 = uVar3;
              }
            }
          }
          else {
            uStack_84 = uVar4;
            if ((*(byte *)(iVar15 + 0x2b) & 2) != 0) {
              iVar10 = *local_90;
              *(int *)(puVar17 + -0xc) = iVar15;
              *(int **)(puVar17 + -0x10) = local_90;
              pcVar7 = *(code **)(iVar10 + 0x14);
              *(undefined4 *)(puVar17 + -0x14) = 0x191265;
              uVar20 = (*pcVar7)();
            }
            local_54 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x191450:
          bVar14 = bVar13 & 7;
code_r0x00191453:
          if (bVar14 != 2) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df53;
            *(undefined4 *)(puVar17 + -0xc) = 200;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_00191aee;
            FUN_0007ac80();
          }
          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);
          *(undefined **)(puVar17 + -0x14) = &UNK_0019146a;
          piVar9 = (int *)FUN_00104a70();
          uVar20 = CONCAT44(local_58,local_5c);
          uVar4 = uStack_84;
          if (piVar9 == (int *)0x0) goto code_r0x001914c8;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);
          if (ppuVar11 == local_64 + -0xc8ef8) {
            local_54 = (undefined **)piVar9[0x18];
            if (local_54 == (undefined **)0xffffffff) goto LAB_00191d3b;
          }
          else {
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined **)(puVar17 + -0x14) = &UNK_001918ae;
            local_54 = (undefined **)(*(code *)ppuVar11)();
            uVar20 = CONCAT44(local_58,local_5c);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1914b0:
LAB_001914b0:
          local_54 = (undefined **)0x0;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1914c8:
code_r0x001914c8:
          local_54 = (undefined **)0xfff1;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1914e0:
          bVar14 = bVar13 & 7;
code_r0x001914e3:
          if (bVar14 != 1) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3df45;
            *(undefined4 *)(puVar17 + -0xc) = 0xb5;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_00191b0e;
            FUN_0007ac80();
          }
          piVar9 = *(int **)(iVar15 + 8);
          iVar10 = *piVar9;
          *(int **)(puVar17 + -0x10) = piVar9;
          pcVar7 = *(code **)(iVar10 + 0x2c);
          *(undefined **)(puVar17 + -0x14) = &UNK_001914f8;
          local_54 = (undefined **)(*pcVar7)();
          uVar4 = uStack_84;
          if ((undefined **)0xfeff < local_54) {
            if (pcVar1 != (code *)0xffffffff) {
              *(code ***)(puVar17 + -0xc) = &pcStack_34;
              *(int *)(puVar17 + -0x10) = param_4 + 0x2c;
              *(undefined **)(puVar17 + -0x14) = &UNK_00191523;
              pcStack_34 = pcVar1;
              ppuStack_30 = local_54;
              FUN_000910c0();
              uVar4 = uStack_84;
            }
            if (local_60 == (code *)0xffffffff) {
              local_54 = (undefined **)0xffff;
            }
            else {
              pcStack_34 = local_60;
              ppuStack_30 = local_54;
              *(code ***)(puVar17 + -0xc) = &pcStack_34;
              *(int *)(puVar17 + -0x10) = param_5 + 0x2c;
              *(undefined **)(puVar17 + -0x14) = &UNK_0019154e;
              uStack_84 = uVar4;
              FUN_000910c0();
              local_54 = (undefined **)0xffff;
              uVar4 = uStack_84;
            }
          }
          uVar20 = CONCAT44(local_58,local_5c);
          if (*(int *)(*local_68 + 8) == 0) goto LAB_00191b7c;
          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            pcVar7 = *(code **)(iVar10 + 0x24);
            *(undefined **)(puVar17 + -0x14) = &UNK_0019157e;
            uStack_84 = uVar4;
            iVar10 = (*pcVar7)();
            uVar20 = CONCAT44(local_58,local_5c);
            if (iVar10 == 0) {
              *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
              *(undefined4 *)(puVar17 + -0xc) = 0xc81;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00191d06;
              FUN_0007ac80();
            }
            uVar4 = uStack_84;
            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_00191c88;
            bVar19 = local_5c < *(undefined **)(iVar10 + 4);
            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);
            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;
          }
        }
LAB_00191288:
        uStack_84 = uVar20;
        if (pcVar1 != (code *)0xffffffff) {
          if (local_6c <= (uint)((int)pcVar1 - local_70)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
            *(undefined4 *)(puVar17 + -0xc) = 0xca1;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x191c2a;
            uStack_84 = uVar4;
            FUN_0007ac80();
          }
          *(int *)(puVar17 + -4) = local_7c + ((int)pcVar1 - local_70) * 0x18;
          *(undefined4 *)(puVar17 + -8) = param_2;
          *(uint *)(puVar17 + -0xc) = local_50;
          *(undefined ***)(puVar17 + -0x10) = local_54;
          *(int *)(puVar17 + -0x14) = local_58;
          *(undefined **)(puVar17 + -0x18) = local_5c;
          *(int *)(puVar17 + -0x1c) = iVar15;
          *(int *)(puVar17 + -0x20) = param_1;
          *(undefined4 *)(puVar17 + -0x24) = 0x1912c1;
          FUN_0018e700();
          uVar4 = uStack_84;
        }
        if (local_60 != (code *)0xffffffff) {
          if (local_74 <= (uint)((int)local_60 - local_78)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0xf854f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_00191c0c;
            uStack_84 = uVar4;
            FUN_0007ac80();
          }
          iVar10 = local_48 + ((int)local_60 - local_78) * 0x18;
          *(int *)(puVar17 + -4) = iVar10;
          *(undefined4 *)(puVar17 + -8) = param_3;
          *(uint *)(puVar17 + -0xc) = local_50;
          *(undefined ***)(puVar17 + -0x10) = local_54;
          *(undefined8 *)(puVar17 + -0x18) = uStack_84;
          *(int *)(puVar17 + -0x1c) = iVar15;
          *(int *)(puVar17 + -0x20) = param_1;
          *(undefined4 *)(puVar17 + -0x24) = 0x1912fe;
          uStack_84 = uVar4;
          FUN_0018e700();
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_00191bd3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);
          uVar4 = uStack_84;
          if (ppuVar11 != local_64 + -0xd3cc4) {
            *(int *)(puVar17 + -8) = iVar10;
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x191658;
            (*(code *)ppuVar11)();
            uVar4 = uStack_84;
          }
        }
      }
      local_4c = (int *)*local_4c;
      uStack_84 = uVar4;
    } while (local_4c != (int *)0x0);
  }
  piVar9 = *(int **)(param_1 + 0x160);
  if (piVar9 == *(int **)(param_1 + 0x164)) {
    return;
  }
  iVar15 = *piVar9;
  iVar10 = *(int *)(iVar15 + 0x10);
  if (iVar10 != 0) {
    local_4c = piVar9 + 1;
    do {
      ppuVar11 = local_64;
      if (local_48 == 0) {
        iVar18 = -1;
      }
      else {
        iVar18 = *(int *)(iVar15 + 0x14);
        if (iVar18 == 0) {
LAB_00191b2e:
          ppuVar11 = local_64;
          uStack_84 = uVar4;
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3df39;
          *(undefined4 *)(puVar17 + -0xc) = 0x19a;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191b4c;
          FUN_0007ac80();
        }
      }
      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;
      uStack_84 = uVar4;
      if (bVar13 == 3) {
        uVar8 = 0xfff1;
      }
      else {
        if (bVar13 != 4) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xccb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191bb5;
          FUN_0007ac80();
        }
        uVar8 = 0;
      }
      if (iVar10 != -1) {
        if (local_6c <= (uint)(iVar10 - local_70)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x191bd3;
          FUN_0007ac80();
        }
        local_50 = uVar8;
        *(int *)(puVar17 + -4) = local_7c + (iVar10 - local_70) * 0x18;
        bVar13 = *(byte *)(iVar15 + 0x28);
        *(undefined4 *)(puVar17 + -8) = param_2;
        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);
        *(uint *)(puVar17 + -0x10) = uVar8;
        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);
        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);
        *(int *)(puVar17 + -0x1c) = iVar15;
        *(int *)(puVar17 + -0x20) = param_1;
        *(undefined4 *)(puVar17 + -0x24) = 0x1913af;
        FUN_0018e700();
        uVar8 = local_50;
      }
      ppuVar11 = local_64;
      uVar4 = uStack_84;
      if (iVar18 != -1) {
        if (local_74 <= (uint)(iVar18 - local_78)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x3dfa1;
          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0xf854f;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar17 + -0x14) = &UNK_00191c48;
          FUN_0007ac80();
        }
        *(int *)(puVar17 + -4) = local_48 + (iVar18 - local_78) * 0x18;
        bVar13 = *(byte *)(iVar15 + 0x28);
        *(undefined4 *)(puVar17 + -8) = param_3;
        *(uint *)(puVar17 + -0xc) = (uint)(bVar13 >> 4);
        *(uint *)(puVar17 + -0x10) = uVar8;
        *(undefined4 *)(puVar17 + -0x14) = *(undefined4 *)(iVar15 + 0x34);
        *(undefined4 *)(puVar17 + -0x18) = *(undefined4 *)(iVar15 + 0x30);
        *(int *)(puVar17 + -0x1c) = iVar15;
        *(int *)(puVar17 + -0x20) = param_1;
        *(undefined4 *)(puVar17 + -0x24) = 0x1913ec;
        FUN_0018e700();
        uVar4 = uStack_84;
      }
      if (*(int **)(param_1 + 0x164) == local_4c) {
        return;
      }
      iVar15 = *local_4c;
      local_4c = local_4c + 1;
      iVar10 = *(int *)(iVar15 + 0x10);
    } while (iVar10 != 0);
  }
LAB_00191b10:
  ppuVar11 = local_64;
  uStack_84 = uVar4;
  *(undefined ***)(puVar17 + -8) = local_64 + -0x3df83;
  *(undefined4 *)(puVar17 + -0xc) = 0x180;
  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10ebb6;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -0x14) = 0x191b2e;
  FUN_0007ac80();
}

