
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* 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, false>
   DWARF original prototype: void sized_write_globals<64,_false>(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,_false>
          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,
          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)

{
  uchar *puVar1;
  _Hash_node_base *p_Var2;
  General_options *pGVar3;
  Target *pTVar4;
  undefined **ppuVar5;
  _func_int_varargs **pp_Var6;
  _func_int_varargs *p_Var7;
  pointer ppSVar8;
  _Hash_node_base *p_Var9;
  int iVar10;
  int iVar11;
  _Hash_node_base **pp_Var12;
  char cVar13;
  _Hash_node_base *p_Var14;
  uint uVar15;
  _Hash_node_base *p_Var16;
  Output_section *pOVar17;
  undefined4 uVar18;
  byte bVar19;
  byte bVar20;
  _Hash_node_base *extraout_EDX;
  _Hash_node_base *p_Var21;
  uint uVar22;
  int iVar23;
  Symbol *pSVar24;
  uint *puVar25;
  uint *puVar26;
  uint uVar27;
  bool bVar28;
  uint auStack_b4 [2];
  uint auStack_a0 [4];
  Target *local_90;
  code *local_8c;
  _Hash_node_base *local_88;
  _Hash_node_base *local_84;
  _Hash_node_base *local_80;
  uchar *local_7c;
  uint local_78;
  uint local_74;
  uint local_70;
  uint local_6c;
  Parameters **local_68;
  undefined **local_64;
  _Hash_node_base *local_60;
  _Hash_node_base *local_5c;
  _Hash_node_base *local_58;
  _Hash_node_base *local_54;
  uint local_50;
  _Hash_node_base *local_4c;
  uchar *local_48;
  int *local_44;
  _Hash_node_base *local_40;
  _Hash_node_base *local_34;
  _Hash_node_base *local_30;
  _Hash_node_base local_2c [7];
  
  puVar25 = auStack_a0 + 1;
  local_64 = &_GLOBAL_OFFSET_TABLE_;
  local_68 = &parameters;
  local_90 = parameters->target_;
  if (parameters->target_ == (Target *)0x0) {
LAB_001ef0b3:
    ppuVar5 = local_64;
    puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94);
    puVar25[0xfffffffd] = 0x69;
    puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    puVar25[0xfffffffb] = 0x1ef0ce;
    do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])
    ;
  }
  local_6c = this->output_count_;
  local_70 = this->first_global_index_;
  iVar23 = *(int *)((int)&this->offset_ + 4);
  uVar15 = (uint)this->offset_;
  if ((local_6c == 0) || (uVar15 == 0 && iVar23 == 0)) {
    local_7c = (uchar *)0x0;
  }
  else {
    if ((iVar23 < 0) ||
       (iVar10 = *(int *)((int)&of->file_size_ + 4),
       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),
       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,
       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))
    goto LAB_001ef186;
    local_7c = of->base_ + uVar15;
  }
  local_74 = this->dynamic_count_;
  local_78 = this->first_dynamic_global_index_;
  iVar23 = *(int *)((int)&this->dynamic_offset_ + 4);
  uVar15 = (uint)this->dynamic_offset_;
  if ((local_74 == 0) || (uVar15 == 0 && iVar23 == 0)) {
    local_48 = (uchar *)0x0;
  }
  else {
    if ((iVar23 < 0) ||
       (iVar10 = *(int *)((int)&of->file_size_ + 4),
       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),
       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,
       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {
LAB_001ef186:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
    }
    local_48 = of->base_ + uVar15;
  }
  local_4c = (this->table_)._M_h._M_before_begin._M_nxt;
  puVar25 = auStack_a0 + 1;
  if (local_4c != (_Hash_node_base *)0x0) {
    local_8c = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c);
    puVar25 = auStack_a0 + 1;
    do {
      p_Var2 = local_4c[3]._M_nxt;
      if ((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&
           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&
          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))
      {
        pGVar3 = (*local_68)->options_;
        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;
        if ((pGVar3->allow_shlib_undefined_).value == false) {
          pTVar4 = (*local_68)->target_;
          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;
          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];
          if (ppuVar5 != local_64 + -0xdbf94) {
            puVar25[-3] = (uint)p_Var2;
            puVar25[-4] = (uint)pTVar4;
            puVar25[-5] = 0x1eeeb3;
            cVar13 = (*(code *)ppuVar5)();
            if (cVar13 != '\0') goto LAB_001ee640;
            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;
            p_Var14 = p_Var2[2]._M_nxt;
          }
          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {
            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {
              puVar25[-1] = 0;
              puVar25[-2] = (uint)(local_64 + -0x41bb3);
              puVar25[-3] = 0x3e;
              puVar25[-4] = (uint)(local_64 + -0x47464);
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = 0x1ef21b;
              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {
              puVar25[-4] = (uint)p_Var2;
              puVar25[-5] = 0x1eee46;
              gold_undefined_symbol((Symbol *)puVar25[-4]);
            }
          }
        }
      }
LAB_001ee640:
      p_Var14 = p_Var2[4]._M_nxt;
      if (p_Var14 == (_Hash_node_base *)0x0) goto LAB_001eeff0;
      if (local_48 == (uchar *)0x0) {
        local_60 = (_Hash_node_base *)0xffffffff;
        p_Var16 = p_Var14;
      }
      else {
        local_60 = p_Var2[5]._M_nxt;
        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;
        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);
      }
      if (p_Var16 != (_Hash_node_base *)0xffffffff) {
        local_5c = p_Var2[0xc]._M_nxt;
        local_58 = p_Var2[0xd]._M_nxt;
        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);
        pGVar3 = (*local_68)->options_;
        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;
        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);
        uVar15 = bVar19 & 7;
        bVar20 = (byte)uVar15;
        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {
          if (bVar20 == 0) {
            local_54 = p_Var2[3]._M_nxt;
            if ((local_54 == (_Hash_node_base *)0x0) &&
               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar20 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();
            return;
          }
          if (4 < bVar20) goto LAB_001ef02c;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {
          case (undefined *)0x1eeaf0:
            local_50 = 1;
            local_54 = (_Hash_node_base *)0x0;
            break;
          case (undefined *)0x1eeb10:
            local_50 = 1;
            local_54 = (_Hash_node_base *)0xfff1;
            break;
          case (undefined *)0x1eed20:
            local_50 = 1;
            goto LAB_001ee9c3;
          case (undefined *)0x1eed30:
            local_50 = 1;
            goto LAB_001ee933;
          case (undefined *)0x1ef128:
_L1796:
            puVar25[-2] = (uint)(local_64 + -0x41a8e);
            puVar25[-3] = 0xaa;
            puVar25[-4] = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = 0x1ef146;
            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          goto LAB_001ee768;
        }
        if (local_50 == 10) {
          uVar27 = 1;
          if ((pGVar3->gnu_unique_).value != false) {
            uVar27 = local_50;
          }
          local_50 = uVar27;
        }
        if (4 < bVar20) {
LAB_001ef02c:
          puVar25[-2] = (uint)(local_64 + -0x41bcf);
          puVar25[-3] = 0xc9b;
          puVar25[-4] = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[-5] = 0x1ef04a;
          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
        }
        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {
        case (undefined *)0x1ee6f0:
          if ((bVar19 & 7) != 0) goto _L1796;
          local_54 = p_Var2[3]._M_nxt;
          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;
          bVar19 = bVar20 & 1;
          p_Var16 = local_54;
          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {
            local_84 = local_54;
            puVar25[-4] = (uint)local_54;
            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);
            puVar25[-5] = 0x1eed62;
            bVar28 = Symbol::is_common_shndx(puVar25[-4]);
            if (!bVar28) {
              local_88 = local_84;
              puVar25[-1] = 0x1eedd0;
              demangle((string *)*puVar25,(char *)puVar25[1]);
              local_84 = local_34;
              puVar25[-4] = (uint)(local_64 + -0x41d21);
              puVar25[-5] = 0x1eedea;
              uVar18 = gettext();
              puVar25[-2] = (uint)local_88;
              puVar25[-3] = (uint)local_84;
              puVar25[-4] = uVar18;
                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */
              puVar25[-5] = 0x1eee01;
              gold_error((char *)puVar25[-4]);
              p_Var16 = local_5c;
              p_Var21 = local_58;
              if (local_34 != local_2c) {
                puVar25[-4] = (uint)local_34;
                puVar25[-5] = 0x1eee1e;
                operator_delete((void *)puVar25[-4]);
                p_Var16 = local_5c;
                p_Var21 = local_58;
              }
              break;
            }
            p_Var16 = local_84;
            bVar19 = (byte)local_88;
            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {
LAB_001eeec8:
              puVar25[-2] = (uint)(local_64 + -0x41a96);
              puVar25[-3] = 0xa1;
              puVar25[-4] = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = (uint)&UNK_001eeee6;
              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
          }
          p_Var9 = p_Var2[2]._M_nxt;
          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {
            p_Var21 = p_Var9->_M_nxt;
            puVar25[-4] = (uint)p_Var9;
            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);
            p_Var21 = p_Var21[5]._M_nxt;
            puVar25[-5] = 0x1eeb52;
            local_84 = p_Var16;
            iVar23 = (*(code *)p_Var21)();
            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;
            if ((byte)local_88 == '\0') {
              p_Var16 = local_5c;
              p_Var21 = local_58;
              if (local_84 != (_Hash_node_base *)0xfff1) {
                puVar25[-4] = (uint)local_84;
                puVar25[-5] = 0x1eeb91;
                bVar28 = Symbol::is_common_shndx(puVar25[-4]);
                p_Var16 = local_5c;
                p_Var21 = local_58;
                if (!bVar28) goto LAB_001eeb9f;
              }
            }
            else {
LAB_001eeb9f:
              p_Var21 = local_84;
              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;
              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);
              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {
                p_Var16 = (_Hash_node_base *)
                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);
                puVar26 = puVar25;
                if (p_Var16 <= local_84) goto LAB_001ef1e6;
                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;
                local_54 = p_Var21;
              }
              else {
                local_54 = local_84;
                puVar25[-3] = (uint)local_84;
                puVar25[-4] = (uint)p_Var9;
                puVar25[-5] = 0x1eefa1;
                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();
              }
              puVar25[-2] = (uint)local_54;
              puVar25[-3] = (uint)p_Var9;
              puVar25[-4] = (uint)this;
              puVar25[-5] = 0x1eebe4;
              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],
                                         puVar25[-2]);
              if (bVar28) {
                puVar25[-1] = (uint)local_54;
                puVar25[-2] = (uint)p_Var9;
                puVar25[-3] = (uint)this->icf_;
                puVar25[-4] = (uint)&local_44;
                puVar25[-5] = 0x1eef13;
                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);
                puVar26 = puVar25 + -1;
                if (local_44 == (int *)0x0) {
                  puVar25[-2] = 0;
                  puVar25[-3] = (uint)(local_64 + -0x41bcf);
                  puVar25[-4] = 0xc53;
                  puVar25[-5] = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-6] = (uint)&UNK_001ef162;
                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);
                }
                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);
                if (p_Var16 == local_88) {
                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);
                  if (p_Var16 <= local_40) {
LAB_001ef1e6:
                    ppuVar5 = local_64;
                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;
                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;
                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;
                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;
                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),
                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))
                    ;
                  }
                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);
                }
                else {
                  puVar25[-4] = (uint)local_40;
                  puVar25[-5] = (uint)local_44;
                  puVar25[-6] = 0x1ef051;
                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();
                }
                puVar26 = puVar25 + -1;
                if (local_84 == (_Hash_node_base *)0x0) {
                  puVar25[-2] = (uint)p_Var2;
                  puVar25[-3] = (uint)(local_64 + -0x41bcf);
                  puVar25[-4] = 0xc57;
                  puVar25[-5] = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-6] = (uint)&UNK_001eef75;
                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);
                }
              }
              else {
                puVar26 = puVar25;
                if (local_84 == (_Hash_node_base *)0x0) {
                  puVar25[-1] = (uint)local_54;
                  puVar25[-2] = (uint)(local_64 + -0x41bcf);
                  puVar25[-3] = 0xc59;
                  puVar25[-4] = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-5] = 0x1ef1bb;
                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
                }
              }
              puVar25 = puVar26;
              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;
              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {
                local_54 = local_84[0x18]._M_nxt;
                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {
LAB_001ef21b:
                  ppuVar5 = local_64;
                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;
                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;
                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;
                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)
                                      ,*(char **)((int)puVar25 + -8));
                }
              }
              else {
                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;
                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;
                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();
              }
              if ((_Hash_node_base *)0xfeff < local_54) {
                if (p_Var14 != (_Hash_node_base *)0xffffffff) {
                  local_30 = local_54;
                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;
                  local_34 = p_Var14;
                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;
                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;
                  std::
                  vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                  ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                               **)((int)puVar25 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));
                }
                if (local_60 == (_Hash_node_base *)0xffffffff) {
                  local_54 = (_Hash_node_base *)0xffff;
                }
                else {
                  local_34 = local_60;
                  local_30 = local_54;
                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;
                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;
                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;
                  std::
                  vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                  ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                               **)((int)puVar25 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));
                  local_54 = (_Hash_node_base *)0xffff;
                }
              }
              p_Var21 = local_58;
              p_Var16 = local_5c;
              if ((*local_68)->options_ == (General_options *)0x0) {
LAB_001ef05c:
                ppuVar5 = local_64;
                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;
                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;
                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;
                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                    *(char **)((int)puVar25 + -8));
              }
              if (((*local_68)->options_->relocatable_).value != false) {
                if (((uint)local_84[7]._M_nxt & 1) == 0) {
LAB_001ef168:
                  ppuVar5 = local_64;
                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;
                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;
                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;
                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)
                                      ,*(char **)((int)puVar25 + -8));
                }
                bVar28 = local_5c < local_84[1]._M_nxt;
                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);
                local_58 = (_Hash_node_base *)
                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));
              }
            }
          }
          else {
            p_Var16 = local_5c;
            p_Var21 = local_58;
            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {
              pp_Var6 = local_90->_vptr_Target;
              puVar25[-3] = (uint)p_Var2;
              puVar25[-4] = (uint)local_90;
              p_Var7 = pp_Var6[5];
              puVar25[-5] = 0x1ee745;
              p_Var16 = (_Hash_node_base *)(*p_Var7)();
              p_Var21 = extraout_EDX;
            }
            local_54 = (_Hash_node_base *)0x0;
            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);
          }
          break;
        case (undefined *)0x1ee930:
          bVar20 = bVar19 & 7;
LAB_001ee933:
          if (bVar20 != 2) {
            puVar25[-2] = (uint)(local_64 + -0x41b8b);
            puVar25[-3] = 200;
            puVar25[-4] = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = (uint)&UNK_001eefce;
            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          puVar25[-4] = (uint)p_Var2[2]._M_nxt;
          puVar25[-5] = 0x1ee94a;
          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);
          if (pOVar17 == (Output_section *)0x0) goto _L1868;
          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];
          if (ppuVar5 == local_64 + -0xcba68) {
            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;
            p_Var16 = local_5c;
            p_Var21 = local_58;
            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)
            goto LAB_001ef21b;
          }
          else {
            puVar25[-4] = (uint)pOVar17;
            puVar25[-5] = 0x1eed8e;
            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();
            p_Var16 = local_5c;
            p_Var21 = local_58;
          }
          break;
        case (undefined *)0x1ee990:
_L1861:
          local_54 = (_Hash_node_base *)0x0;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          break;
        case (undefined *)0x1ee9a8:
_L1868:
          local_54 = (_Hash_node_base *)0xfff1;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          break;
        case (undefined *)0x1ee9c0:
          bVar20 = bVar19 & 7;
LAB_001ee9c3:
          if (bVar20 != 1) {
            puVar25[-2] = (uint)(local_64 + -0x41b7d);
            puVar25[-3] = 0xb5;
            puVar25[-4] = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = (uint)&UNK_001eefee;
            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          p_Var9 = p_Var2[2]._M_nxt;
          p_Var16 = p_Var9->_M_nxt;
          puVar25[-4] = (uint)p_Var9;
          p_Var16 = p_Var16[0xb]._M_nxt;
          puVar25[-5] = 0x1ee9d8;
          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();
          if ((_Hash_node_base *)0xfeff < local_54) {
            if (p_Var14 != (_Hash_node_base *)0xffffffff) {
              local_30 = local_54;
              puVar25[-3] = (uint)&local_34;
              local_34 = p_Var14;
              puVar25[-4] = (uint)&symtab_xindex->entries_;
              puVar25[-5] = 0x1eea03;
              std::
              vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
              ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);
            }
            if (local_60 == (_Hash_node_base *)0xffffffff) {
              local_54 = (_Hash_node_base *)0xffff;
            }
            else {
              local_34 = local_60;
              local_30 = local_54;
              puVar25[-3] = (uint)&local_34;
              puVar25[-4] = (uint)&dynsym_xindex->entries_;
              puVar25[-5] = 0x1eea2e;
              std::
              vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
              ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);
              local_54 = (_Hash_node_base *)0xffff;
            }
          }
          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          if (((*local_68)->options_->relocatable_).value != false) {
            p_Var16 = p_Var9->_M_nxt;
            puVar25[-4] = (uint)p_Var9;
            p_Var16 = p_Var16[9]._M_nxt;
            puVar25[-5] = 0x1eea5e;
            iVar23 = (*(code *)p_Var16)();
            p_Var21 = local_58;
            p_Var16 = local_5c;
            if (iVar23 == 0) {
              puVar25[-2] = (uint)(local_64 + -0x41bcf);
              puVar25[-3] = 0xc81;
              puVar25[-4] = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = 0x1ef1e6;
              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;
            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);
            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));
            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));
          }
        }
LAB_001ee768:
        if (p_Var14 != (_Hash_node_base *)0xffffffff) {
          if (local_6c <= (int)p_Var14 - local_70) {
            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;
            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;
            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          local_84 = p_Var16;
          local_80 = p_Var21;
          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;
          *(Stringpool **)((int)puVar25 + -8) = sympool;
          *(uint *)((int)puVar25 + -0xc) = local_50;
          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;
          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;
          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;
          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;
          *(Symbol_table **)((int)puVar25 + -0x20) = this;
          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;
          sized_write_symbol<64,_false>
                    (*(Symbol_table **)((int)puVar25 + -0x20),
                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),
                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),
                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),
                     *(uchar **)((int)puVar25 + -4));
          p_Var16 = local_84;
          p_Var21 = local_80;
        }
        if (local_60 != (_Hash_node_base *)0xffffffff) {
          if (local_74 <= (int)local_60 - local_78) {
            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;
            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;
            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;
          *(uchar **)((int)puVar25 + -4) = puVar1;
          *(Stringpool **)((int)puVar25 + -8) = dynpool;
          *(uint *)((int)puVar25 + -0xc) = local_50;
          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;
          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;
          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;
          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;
          *(Symbol_table **)((int)puVar25 + -0x20) = this;
          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;
          sized_write_symbol<64,_false>
                    (*(Symbol_table **)((int)puVar25 + -0x20),
                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),
                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),
                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),
                     *(uchar **)((int)puVar25 + -4));
          pTVar4 = (*local_68)->target_;
          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;
          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];
          if (ppuVar5 != local_64 + -0xdbf70) {
            *(uchar **)((int)puVar25 + -8) = puVar1;
            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;
            *(Target **)((int)puVar25 + -0x10) = pTVar4;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;
            (*(code *)ppuVar5)();
          }
        }
      }
      pp_Var12 = &local_4c->_M_nxt;
      local_4c = *pp_Var12;
    } while (*pp_Var12 != (_Hash_node_base *)0x0);
  }
  ppSVar8 = (this->target_symbols_).
            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;
  if (ppSVar8 ==
      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
      _M_impl._M_finish) {
    return;
  }
  pSVar24 = *ppSVar8;
  uVar15 = pSVar24->symtab_index_;
  if (uVar15 != 0) {
    local_4c = (_Hash_node_base *)(ppSVar8 + 1);
    do {
      ppuVar5 = local_64;
      if (local_48 == (uchar *)0x0) {
        uVar27 = 0xffffffff;
      }
      else {
        uVar27 = pSVar24->dynsym_index_;
        if (uVar27 == 0) {
LAB_001ef00e:
          ppuVar5 = local_64;
          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;
          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;
          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;
          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                              *(char **)((int)puVar25 + -8));
        }
      }
      bVar19 = pSVar24->field_0x2a & 7;
      if (bVar19 == 3) {
        uVar22 = 0xfff1;
      }
      else {
        if (bVar19 != 4) {
          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);
          puVar25[0xfffffffd] = 0xccb;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef095;
          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        uVar22 = 0;
      }
      if (uVar15 != 0xffffffff) {
        if (local_6c <= uVar15 - local_70) {
          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);
          puVar25[0xfffffffd] = 0xcd1;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef0b3;
          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        local_50 = uVar22;
        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);
        bVar19 = pSVar24->field_0x28;
        puVar25[0xfffffffe] = (uint)sympool;
        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);
        puVar25[0xfffffffc] = uVar22;
        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;
        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;
        puVar25[0xfffffff9] = (uint)pSVar24;
        puVar25[0xfffffff8] = (uint)this;
        puVar25[0xfffffff7] = 0x1ee88f;
        sized_write_symbol<64,_false>
                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],
                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],
                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);
        uVar22 = local_50;
      }
      ppuVar5 = local_64;
      if (uVar27 != 0xffffffff) {
        if (local_74 <= uVar27 - local_78) {
          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);
          puVar25[0xfffffffd] = 0xcdb;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef128;
          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);
        bVar19 = pSVar24->field_0x28;
        puVar25[0xfffffffe] = (uint)dynpool;
        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);
        puVar25[0xfffffffc] = uVar22;
        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;
        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;
        puVar25[0xfffffff9] = (uint)pSVar24;
        puVar25[0xfffffff8] = (uint)this;
        puVar25[0xfffffff7] = 0x1ee8cc;
        sized_write_symbol<64,_false>
                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],
                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],
                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);
      }
      if ((_Hash_node_base *)
          (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
          _M_impl._M_finish == local_4c) {
        return;
      }
      pSVar24 = (Symbol *)local_4c->_M_nxt;
      local_4c = local_4c + 1;
      uVar15 = pSVar24->symtab_index_;
    } while (uVar15 != 0);
  }
LAB_001eeff0:
  ppuVar5 = local_64;
  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;
  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;
  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;
  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                      *(char **)((int)puVar25 + -8));
}



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

void FUN_001ee510(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_004144e8;
  local_90 = *(int **)(DAT_004144e8 + 0xc);
  uStack_84 = uVar4;
  if (local_90 == (int *)0x0) {
LAB_001ef0b3:
    ppuVar11 = local_64;
    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;
    *(undefined4 *)(puVar17 + -0xc) = 0x69;
    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;
    FUN_000da200();
  }
  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_001ef186;
    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_001ef186:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../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_0030cc7c);
    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_001ef05c;
        if (*(char *)(iVar18 + 0x1fd) == '\0') {
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);
          if (ppuVar11 != local_64 + -0xdbf94) {
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;
            cVar6 = (*(code *)ppuVar11)();
            uVar4 = uStack_84;
            if (cVar6 != '\0') goto LAB_001ee640;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;
            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 + -0x41bb3;
              *(undefined4 *)(puVar17 + -0xc) = 0x3e;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;
              FUN_000da200();
            }
            if (*(int *)(iVar10 + 0x5c) != 1) {
              *(int *)(puVar17 + -0x10) = iVar15;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;
              FUN_000d1730();
              uVar4 = uStack_84;
            }
          }
        }
      }
LAB_001ee640:
      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
      pcVar1 = *(code **)(iVar15 + 0x10);
      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;
      if (local_48 == 0) {
        local_60 = (code *)0xffffffff;
        pcVar7 = pcVar1;
      }
      else {
        local_60 = *(code **)(iVar15 + 0x14);
        if (local_60 == (code *)0x0) goto LAB_001ef00e;
        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_001ef05c;
        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 0x001eedb9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar14 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();
            return;
          }
          if (4 < bVar14) goto LAB_001ef02c;
          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {
          case (undefined *)0x1eeaf0:
            local_50 = 1;
            local_54 = (undefined **)0x0;
            uVar20 = *(undefined8 *)piVar9;
            break;
          case (undefined *)0x1eeb10:
            local_50 = 1;
            local_54 = (undefined **)0xfff1;
            break;
          case (undefined *)0x1eed20:
            local_50 = 1;
            goto code_r0x001ee9c3;
          case (undefined *)0x1eed30:
            local_50 = 1;
            goto code_r0x001ee933;
          case (undefined *)0x1ef128:
code_r0x001ef128:
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;
            *(undefined4 *)(puVar17 + -0xc) = 0xaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;
            FUN_000da200();
          }
          goto LAB_001ee768;
        }
        uVar2 = local_50;
        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {
          uVar2 = local_50;
        }
        local_50 = uVar2;
        if (4 < bVar14) {
LAB_001ef02c:
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;
          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;
          FUN_000da200();
        }
        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {
        case (undefined *)0x1ee6f0:
          if ((bVar13 & 7) != 0) goto code_r0x001ef128;
          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) = 0x1eed62;
            cVar6 = FUN_001e6ac0();
            if (cVar6 == '\0') {
              ppuStack_88 = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;
              FUN_001e7db0();
              uStack_84._0_4_ = (undefined **)pcStack_34;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;
              uVar12 = gettext();
              *(undefined ***)(puVar17 + -8) = ppuStack_88;
              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -0x10) = uVar12;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eee01;
              FUN_000d1330();
              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) = 0x1eee1e;
                FUN_00248220();
                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_001eeec8:
              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;
              *(undefined4 *)(puVar17 + -0xc) = 0xa1;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;
              FUN_000da200();
            }
          }
          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) = 0x1eeb52;
            iVar10 = (*pcVar7)();
            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;
            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) = 0x1eeb91;
                cVar6 = FUN_001e6ac0();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
                if (cVar6 == '\0') goto LAB_001eeb9f;
              }
            }
            else {
LAB_001eeb9f:
              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);
              ppuStack_88 = local_64 + -0xdb9ec;
              if (ppuVar11 == ppuStack_88) {
                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);
                puVar16 = puVar17;
                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;
                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) = 0x1eefa1;
                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
              }
              *(undefined ***)(puVar17 + -8) = local_54;
              *(int **)(puVar17 + -0xc) = piVar9;
              *(int *)(puVar17 + -0x10) = param_1;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eebe4;
              cVar6 = FUN_001e6ec0();
              if (cVar6 == '\0') {
                puVar16 = puVar17;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(undefined ***)(puVar17 + -4) = local_54;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;
                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;
                  FUN_000da200();
                }
              }
              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) = 0x1eef13;
                FUN_000dd700();
                puVar16 = puVar17 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(undefined4 *)(puVar17 + -8) = 0;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;
                  FUN_000da200();
                }
                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar11 == ppuStack_88) {
                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);
                  if (ppuVar11 <= ppuStack_40) {
LAB_001ef1e6:
                    ppuVar5 = local_64;
                    *(undefined ***)(puVar16 + -4) = ppuVar11;
                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;
                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;
                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;
                    FUN_000da200();
                  }
                  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) = 0x1ef051;
                  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 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;
                  FUN_000da200();
                }
              }
              puVar17 = puVar16;
              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);
              if (ppuVar11 == local_64 + -0xcba68) {
                local_54 = (undefined **)((undefined **)uStack_84)[0x18];
                if (local_54 == (undefined **)0xffffffff) {
LAB_001ef21b:
                  ppuVar11 = local_64;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;
                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;
                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;
                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) = 0x1eec4d;
                  pcStack_34 = pcVar1;
                  FUN_000efc40();
                }
                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) = 0x1eec78;
                  FUN_000efc40();
                  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_001ef05c:
                ppuVar11 = local_64;
                uStack_84 = uVar4;
                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;
                *(undefined4 *)(puVar17 + -0xc) = 0x5c;
                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;
                FUN_000da200();
              }
              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {
LAB_001ef168:
                  ppuVar11 = local_64;
                  uStack_84 = uVar4;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;
                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;
                  FUN_000da200();
                }
                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) = 0x1ee745;
              uVar20 = (*pcVar7)();
            }
            local_54 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1ee930:
          bVar14 = bVar13 & 7;
code_r0x001ee933:
          if (bVar14 != 2) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;
            *(undefined4 *)(puVar17 + -0xc) = 200;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;
            FUN_000da200();
          }
          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);
          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;
          piVar9 = (int *)FUN_0015f960();
          uVar20 = CONCAT44(local_58,local_5c);
          uVar4 = uStack_84;
          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);
          if (ppuVar11 == local_64 + -0xcba68) {
            local_54 = (undefined **)piVar9[0x18];
            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;
          }
          else {
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;
            local_54 = (undefined **)(*(code *)ppuVar11)();
            uVar20 = CONCAT44(local_58,local_5c);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1ee990:
LAB_001ee990:
          local_54 = (undefined **)0x0;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1ee9a8:
code_r0x001ee9a8:
          local_54 = (undefined **)0xfff1;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1ee9c0:
          bVar14 = bVar13 & 7;
code_r0x001ee9c3:
          if (bVar14 != 1) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;
            *(undefined4 *)(puVar17 + -0xc) = 0xb5;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;
            FUN_000da200();
          }
          piVar9 = *(int **)(iVar15 + 8);
          iVar10 = *piVar9;
          *(int **)(puVar17 + -0x10) = piVar9;
          pcVar7 = *(code **)(iVar10 + 0x2c);
          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;
          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_001eea03;
              pcStack_34 = pcVar1;
              ppuStack_30 = local_54;
              FUN_000efc40();
              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_001eea2e;
              uStack_84 = uVar4;
              FUN_000efc40();
              local_54 = (undefined **)0xffff;
              uVar4 = uStack_84;
            }
          }
          uVar20 = CONCAT44(local_58,local_5c);
          if (*(int *)(*local_68 + 8) == 0) goto LAB_001ef05c;
          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            pcVar7 = *(code **)(iVar10 + 0x24);
            *(undefined **)(puVar17 + -0x14) = &UNK_001eea5e;
            uStack_84 = uVar4;
            iVar10 = (*pcVar7)();
            uVar20 = CONCAT44(local_58,local_5c);
            if (iVar10 == 0) {
              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
              *(undefined4 *)(puVar17 + -0xc) = 0xc81;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;
              FUN_000da200();
            }
            uVar4 = uStack_84;
            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;
            bVar19 = local_5c < *(undefined **)(iVar10 + 4);
            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);
            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;
          }
        }
LAB_001ee768:
        uStack_84 = uVar20;
        if (pcVar1 != (code *)0xffffffff) {
          if (local_6c <= (uint)((int)pcVar1 - local_70)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)(puVar17 + -0xc) = 0xca1;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;
            uStack_84 = uVar4;
            FUN_000da200();
          }
          *(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) = 0x1ee7a1;
          FUN_001ec740();
          uVar4 = uStack_84;
        }
        if (local_60 != (code *)0xffffffff) {
          if (local_74 <= (uint)((int)local_60 - local_78)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;
            uStack_84 = uVar4;
            FUN_000da200();
          }
          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) = 0x1ee7de;
          uStack_84 = uVar4;
          FUN_001ec740();
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);
          uVar4 = uStack_84;
          if (ppuVar11 != local_64 + -0xdbf70) {
            *(int *)(puVar17 + -8) = iVar10;
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;
            (*(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_001ef00e:
          ppuVar11 = local_64;
          uStack_84 = uVar4;
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;
          *(undefined4 *)(puVar17 + -0xc) = 0x19a;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;
          FUN_000da200();
        }
      }
      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;
      uStack_84 = uVar4;
      if (bVar13 == 3) {
        uVar8 = 0xfff1;
      }
      else {
        if (bVar13 != 4) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xccb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;
          FUN_000da200();
        }
        uVar8 = 0;
      }
      if (iVar10 != -1) {
        if (local_6c <= (uint)(iVar10 - local_70)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;
          FUN_000da200();
        }
        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) = 0x1ee88f;
        FUN_001ec740();
        uVar8 = local_50;
      }
      ppuVar11 = local_64;
      uVar4 = uStack_84;
      if (iVar18 != -1) {
        if (local_74 <= (uint)(iVar18 - local_78)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;
          FUN_000da200();
        }
        *(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) = 0x1ee8cc;
        FUN_001ec740();
        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_001eeff0:
  ppuVar11 = local_64;
  uStack_84 = uVar4;
  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;
  *(undefined4 *)(puVar17 + -0xc) = 0x180;
  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;
  FUN_000da200();
}


CALL 0x000b4846
ADD EAX,0x225aeb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x8c
MOV dword ptr [EBP + -0x60],EAX
LEA EAX,[EAX + 0x4e8]
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 0x001ef0b3
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 0x001ee571
MOV EDX,ESI
OR EDX,EDI
JNZ 0x001eee7d
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 0x001ee5a1
MOV EDX,ESI
OR EDX,EDI
JNZ 0x001eee4e
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 0x001ee81a
MOV EAX,dword ptr [EBP + -0x60]
MOV ESI,dword ptr [EAX + 0xffef8c7c]
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 0x001ee640
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x001ee640
MOV EDX,dword ptr [ESI + 0xc]
TEST EDX,EDX
JNZ 0x001ee640
MOVZX EDX,byte ptr [ESI + 0x28]
SHR DL,0x4
CMP DL,0x2
JZ 0x001ee640
MOV EDX,dword ptr [EBP + -0x64]
MOV ECX,dword ptr [EDX]
MOV EDX,dword ptr [ECX + 0x8]
TEST EDX,EDX
JZ 0x001ef05c
CMP byte ptr [EDX + 0x1fd],0x0
JNZ 0x001ee640
MOV EDX,dword ptr [ECX + 0xc]
TEST EDX,EDX
JZ 0x001ef0b3
MOV ECX,dword ptr [EDX]
MOV EDI,dword ptr [EBP + -0x60]
MOV ECX,dword ptr [ECX + 0x1c]
LEA EBX,[EDI + 0xffc901b0]
CMP ECX,EBX
JNZ 0x001eeeac
TEST byte ptr [EAX + 0x2c],0x20
JZ 0x001eee26
LEA ESI,[ESI]
MOV EDI,dword ptr [ESI + 0x10]
TEST EDI,EDI
JZ 0x001eeff0
MOV EAX,dword ptr [EBP + -0x44]
TEST EAX,EAX
JZ 0x001eea90
MOV EAX,dword ptr [ESI + 0x14]
MOV dword ptr [EBP + -0x5c],EAX
TEST EAX,EAX
JZ 0x001ef00e
AND EAX,EDI
CMP EAX,-0x1
JZ 0x001ee80a
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 0x001ef05c
MOVZX EDX,byte ptr [ESI + 0x2a]
MOV EAX,EDX
AND EAX,0x7
CMP byte ptr [ECX + 0x49b1],0x0
JZ 0x001ee6b3
CMP EBX,0x1
JZ 0x001eeab0
MOV EBX,dword ptr [EBP + -0x4c]
CMP EBX,0xa
JNZ 0x001ee6cd
CMP byte ptr [ECX + 0x19a9],0x0
MOV ECX,0x1
CMOVNZ ECX,EBX
MOV dword ptr [EBP + -0x4c],ECX
CMP AL,0x4
JA 0x001ef02c
MOV ECX,dword ptr [EBP + -0x60]
MOVZX EAX,AL
MOV EBX,dword ptr [ECX + EAX*0x4 + 0xffef8c68]
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 0x001ee5d0
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EAX + 0x160]
CMP EDI,dword ptr [EAX + 0x164]
JZ 0x001eeda0
MOV EBX,dword ptr [EDI]
MOV EAX,dword ptr [EBX + 0x10]
TEST EAX,EAX
JZ 0x001eeff0
ADD EDI,0x4
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x48],EDI
JMP 0x001ee8f4
MOV EDX,0xfff1
CMP EAX,-0x1
JZ 0x001ee895
SUB EAX,dword ptr [EBP + -0x6c]
CMP dword ptr [EBP + -0x68],EAX
JBE 0x001ef095
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 0x001ec740
MOV EDX,dword ptr [EBP + -0x4c]
ADD ESP,0x20
CMP EDI,-0x1
JZ 0x001ee8cf
SUB EDI,dword ptr [EBP + -0x74]
CMP dword ptr [EBP + -0x70],EDI
JBE 0x001ef10a
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 0x001ec740
ADD ESP,0x20
MOV EAX,dword ptr [EBP + -0x48]
CMP dword ptr [ESI + 0x164],EAX
JZ 0x001eeda0
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 0x001eeff0
MOV EDX,dword ptr [EBP + -0x44]
TEST EDX,EDX
JZ 0x001eeaa0
MOV EDI,dword ptr [EBX + 0x14]
TEST EDI,EDI
JZ 0x001ef00e
MOVZX EDX,byte ptr [EBX + 0x2a]
AND EDX,0x7
CMP DL,0x3
JZ 0x001ee850
CMP DL,0x4
JNZ 0x001ef077
XOR EDX,EDX
JMP 0x001ee855
MOV EAX,EDI
MOV dword ptr [EBP + -0x5c],0xffffffff
JMP 0x001ee666
MOV EDI,0xffffffff
JMP 0x001ee90a
MOV EDX,EAX
TEST AL,AL
JNZ 0x001eecd0
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 0x001eead8
TEST DL,DL
JNZ 0x001eedb0
MOV EAX,dword ptr [EBP + 0xffffff78]
JMP EAX
CMP AL,0x4
JNZ 0x001eed00
MOV EAX,dword ptr [EBP + -0x60]
ADD EAX,dword ptr [EAX + 0xffef8ca0]
JMP EAX
JA 0x001ef02c
MOV EBX,dword ptr [EBP + -0x60]
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xffef8ca4]
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 + 0xffef8cb8]
JMP EDX
MOV EAX,dword ptr [EAX + 0x5c]
TEST EAX,EAX
JZ 0x001ef202
CMP EAX,0x1
JZ 0x001ee640
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x60]
PUSH ESI
CALL 0x000d1730
ADD ESP,0x10
JMP 0x001ee640
TEST EDI,EDI
JS 0x001ef186
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 0x001ef186
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x44],EAX
JMP 0x001ee5a8
TEST EDI,EDI
JS 0x001ef186
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 0x001ef186
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x78],EAX
JMP 0x001ee578
SUB ESP,0x8
PUSH ESI
PUSH EDX
CALL ECX
ADD ESP,0x10
TEST AL,AL
JNZ 0x001ee640
TEST byte ptr [ESI + 0x2a],0x7
JZ 0x001ef1bb
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95a8]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0xa1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9114]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x180
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef923c]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x19a
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef90c4]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xc9b
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95e8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef90c4]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xccb
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef90c4]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xcd1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95b0]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x69
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef90c4]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xcdb
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x60]
PUSH ECX
LEA EAX,[EBX + 0xffef9150]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x6f
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [ESI + 0x8]
JMP 0x001ee632
MOV EBX,dword ptr [EBP + -0x60]
PUSH EAX
LEA EAX,[EBX + 0xffef9134]
PUSH EAX
LEA EAX,[EBX + 0xffee2e70]
PUSH 0x3e
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\n}\n\n" comment (function_definition "void FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\n}" primitive_type (function_declarator "FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\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_004144e8;" (assignment_expression "local_68 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "local_90 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_004144e8 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_004144e8 + 0xc)" * (cast_expression "(int **)(DAT_004144e8 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_001ef0b3:\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 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a94" (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 + -0x41a94" 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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce" (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_001ef0ce" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef186;\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_001ef186;\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_001ef186;\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_001ef186;" 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_001ef186;" 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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../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_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" statement_identifier : comment (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cc7c)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_0030cc7c" (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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ef05c;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;" 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_001ef0b3;" 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 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf94)" ( (binary_expression "ppuVar11 != local_64 + -0xdbf94" identifier != (binary_expression "local_64 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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) = 0x1eeeb3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3" (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_001ee640;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ee640;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;" 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_001eeec8;" 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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb3" (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 + -0x41bb3" 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 "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464" (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 + -0x47464" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b" (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_001ef21b" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee46" (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_000d1730();" (call_expression "FUN_000d1730()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) })) (labeled_statement "LAB_001ee640:\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_001eeff0;" 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_001eeff0;" 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_001ef00e;\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_001ef00e;\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_001ef00e;\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_001ef00e;" 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_001ef00e;" 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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ef05c;" 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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. 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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\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 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd2])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd2])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd2])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd2]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd2]" 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 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }" if (parenthesized_expression "(bVar14 == 4)" ( (binary_expression "bVar14 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd8])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd8])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd8])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd8]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd8]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar14) goto LAB_001ef02c;" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (goto_statement "goto LAB_001ef02c;" goto statement_identifier ;)) (switch_statement "switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" switch (parenthesized_expression "(local_64[uVar8 - 0x41cd7] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x41cd7] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41cd7]" identifier [ (binary_expression "uVar8 - 0x41cd7" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" { (case_statement "case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" case (cast_expression "(undefined *)0x1eeaf0" ( (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 *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1eeb10" ( (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 *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;" case (cast_expression "(undefined *)0x1eed20" ( (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_r0x001ee9c3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;" case (cast_expression "(undefined *)0x1eed30" ( (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_r0x001ee933;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();" case (cast_expression "(undefined *)0x1ef128" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e" (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 + -0x41a8e" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146" (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_001ef146" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_001ee768;" 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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (compound_statement "{\nLAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a" (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_001ef04a" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 - 0x41ce6] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x41ce6] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41ce6]" identifier [ (binary_expression "uVar8 - 0x41ce6" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee6f0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar13 & 7) != 0) goto code_r0x001ef128;" 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_r0x001ef128;" 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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eed62" (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_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1eedd0" (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_001e7db0();" (call_expression "FUN_001e7db0()" 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 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21" (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 + -0x41d21" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea" (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) = 0x1eee01;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee01" (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_000d1330();" (call_expression "FUN_000d1330()" 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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee1e" (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_00248220();" (call_expression "FUN_00248220()" 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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\n            }" { (labeled_statement "LAB_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96" (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 + -0x41a96" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6" (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_001eeee6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb52;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb52" (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_001ee990;" 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_001ee990;" 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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb91" (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_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" 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_001eeb9f;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001eeb9f;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\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 + -0xdb9ec;" (assignment_expression "ppuStack_88 = local_64 + -0xdb9ec" identifier = (binary_expression "local_64 + -0xdb9ec" 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_001ef1e6;\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) = 0x1eefa1;\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_001ef1e6;\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_001ef1e6;" 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_001ef1e6;" 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) = 0x1eefa1;\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) = 0x1eefa1;\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) = 0x1eefa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eefa1" (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) = 0x1eebe4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eebe4" (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_001e6ec0();" (assignment_expression "cVar6 = FUN_001e6ec0()" identifier = (call_expression "FUN_001e6ec0()" 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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef13" (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_000dd700();" (call_expression "FUN_000dd700()" 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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162" (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_001ef162" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "(ppuVar11 <= ppuStack_40)" ( (binary_expression "ppuVar11 <= ppuStack_40" identifier <= identifier) )) (compound_statement "{\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" { (labeled_statement "LAB_001ef1e6:\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 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9" (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 + -0x41aa9" 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 "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e" (pointer_expression "*(undefined ***)(puVar16 + -0x10)" * (cast_expression "(undefined ***)(puVar16 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar5 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ef051;\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) = 0x1ef051;\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) = 0x1ef051;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1ef051" (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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75" (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_001eef75" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xcba68)" ( (binary_expression "ppuVar11 == local_64 + -0xcba68" identifier == (binary_expression "local_64 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ef21b:\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 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7" (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 + -0x41bb7" 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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239" (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_001ef239" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eef8c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef8c" (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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec4d" (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_000efc40();" (call_expression "FUN_000efc40()" 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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec78" (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_000efc40();" (call_expression "FUN_000efc40()" 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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_001ef05c:\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 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a86" (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 + -0x41a86" 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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077" (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_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ef168:\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 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f" (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 + -0x41b7f" 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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ee745" (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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x1ee930" ( (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_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar14 != 2)" ( (binary_expression "bVar14 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b" (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 + -0x41b8b" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce" (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_001eefce" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ee94a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee94a" (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_001ee94a" & identifier)) ;) (expression_statement "piVar9 = (int *)FUN_0015f960();" (assignment_expression "piVar9 = (int *)FUN_0015f960()" identifier = (cast_expression "(int *)FUN_0015f960()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015f960()" 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_r0x001ee9a8;" 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_r0x001ee9a8;" 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 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xcba68)" ( (binary_expression "ppuVar11 == local_64 + -0xcba68" identifier == (binary_expression "local_64 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\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_001ef21b;" 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_001ef21b;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\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_001eed8e;\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_001eed8e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eed8e" (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_001eed8e" & 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 *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1ee990" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001ee990:\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 *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1ee9a8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ee9a8:\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 *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee9c0" ( (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_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d" (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 + -0x41b7d" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee" (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_001eefee" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ee9d8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8" (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_001ee9d8" & 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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea03" (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_001eea03" & 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_000efc40();" (call_expression "FUN_000efc40()" 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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea2e" (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_001eea2e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" 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_001ef05c;" 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_001ef05c;" 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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea5e" (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_001eea5e" & 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 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6" (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_001ef1e6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef168;" 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_001ef168;" 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_001ee768:\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\n          uVar4 = uStack_84;\n        }" { (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee7a1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7a1" (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_001ec740();" (call_expression "FUN_001ec740()" 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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec" (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_001ef0ec" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee7de;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7de" (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_001ec740();" (call_expression "FUN_001ec740()" 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_001ef0b3;" 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_001ef0b3;" 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 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf70)" ( (binary_expression "ppuVar11 != local_64 + -0xdbf70" identifier != (binary_expression "local_64 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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) = 0x1eeb38;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb38" (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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }\n      }" else (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ef00e:\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 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b71" (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 + -0x41b71" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c" (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_000da200();" (call_expression "FUN_000da200()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" else (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" { (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" if (parenthesized_expression "(bVar13 != 4)" ( (binary_expression "bVar13 != 4" identifier != number_literal) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095" (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_000da200();" (call_expression "FUN_000da200()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\n        uVar8 = local_50;\n      }" { (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee88f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee88f" (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_001ec740();" (call_expression "FUN_001ec740()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\n        uVar4 = uStack_84;\n      }" { (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128" (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_001ef128" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee8cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee8cc" (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_001ec740();" (call_expression "FUN_001ec740()" 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_001eeff0:\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 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb" (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 + -0x41bbb" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e" (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_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\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, false>\n   DWARF original prototype: void sized_write_globals<64,_false>(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,_false>\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  uchar *puVar1;\n  _Hash_node_base *p_Var2;\n  General_options *pGVar3;\n  Target *pTVar4;\n  undefined **ppuVar5;\n  _func_int_varargs **pp_Var6;\n  _func_int_varargs *p_Var7;\n  pointer ppSVar8;\n  _Hash_node_base *p_Var9;\n  int iVar10;\n  int iVar11;\n  _Hash_node_base **pp_Var12;\n  char cVar13;\n  _Hash_node_base *p_Var14;\n  uint uVar15;\n  _Hash_node_base *p_Var16;\n  Output_section *pOVar17;\n  undefined4 uVar18;\n  byte bVar19;\n  byte bVar20;\n  _Hash_node_base *extraout_EDX;\n  _Hash_node_base *p_Var21;\n  uint uVar22;\n  int iVar23;\n  Symbol *pSVar24;\n  uint *puVar25;\n  uint *puVar26;\n  uint uVar27;\n  bool bVar28;\n  uint auStack_b4 [2];\n  uint auStack_a0 [4];\n  Target *local_90;\n  code *local_8c;\n  _Hash_node_base *local_88;\n  _Hash_node_base *local_84;\n  _Hash_node_base *local_80;\n  uchar *local_7c;\n  uint local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  Parameters **local_68;\n  undefined **local_64;\n  _Hash_node_base *local_60;\n  _Hash_node_base *local_5c;\n  _Hash_node_base *local_58;\n  _Hash_node_base *local_54;\n  uint local_50;\n  _Hash_node_base *local_4c;\n  uchar *local_48;\n  int *local_44;\n  _Hash_node_base *local_40;\n  _Hash_node_base *local_34;\n  _Hash_node_base *local_30;\n  _Hash_node_base local_2c [7];\n  \n  puVar25 = auStack_a0 + 1;\n  local_64 = &_GLOBAL_OFFSET_TABLE_;\n  local_68 = &parameters;\n  local_90 = parameters->target_;\n  if (parameters->target_ == (Target *)0x0) {\nLAB_001ef0b3:\n    ppuVar5 = local_64;\n    puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94);\n    puVar25[0xfffffffd] = 0x69;\n    puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar25[0xfffffffb] = 0x1ef0ce;\n    do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])\n    ;\n  }\n  local_6c = this->output_count_;\n  local_70 = this->first_global_index_;\n  iVar23 = *(int *)((int)&this->offset_ + 4);\n  uVar15 = (uint)this->offset_;\n  if ((local_6c == 0) || (uVar15 == 0 && iVar23 == 0)) {\n    local_7c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))\n    goto LAB_001ef186;\n    local_7c = of->base_ + uVar15;\n  }\n  local_74 = this->dynamic_count_;\n  local_78 = this->first_dynamic_global_index_;\n  iVar23 = *(int *)((int)&this->dynamic_offset_ + 4);\n  uVar15 = (uint)this->dynamic_offset_;\n  if ((local_74 == 0) || (uVar15 == 0 && iVar23 == 0)) {\n    local_48 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar15;\n  }\n  local_4c = (this->table_)._M_h._M_before_begin._M_nxt;\n  puVar25 = auStack_a0 + 1;\n  if (local_4c != (_Hash_node_base *)0x0) {\n    local_8c = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c);\n    puVar25 = auStack_a0 + 1;\n    do {\n      p_Var2 = local_4c[3]._M_nxt;\n      if ((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))\n      {\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      p_Var14 = p_Var2[4]._M_nxt;\n      if (p_Var14 == (_Hash_node_base *)0x0) goto LAB_001eeff0;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (_Hash_node_base *)0xffffffff;\n        p_Var16 = p_Var14;\n      }\n      else {\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\n      }\n      if (p_Var16 != (_Hash_node_base *)0xffffffff) {\n        local_5c = p_Var2[0xc]._M_nxt;\n        local_58 = p_Var2[0xd]._M_nxt;\n        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);\n        uVar15 = bVar19 & 7;\n        bVar20 = (byte)uVar15;\n        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }\n        if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }\n        if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }\n        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }\n  ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar24 = *ppSVar8;\n  uVar15 = pSVar24->symtab_index_;\n  if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }\nLAB_001eeff0:\n  ppuVar5 = local_64;\n  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;\n  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;\n  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));\n}\n\n" comment comment comment comment comment comment (declaration "void __thiscall\ngold::Symbol_table::sized_write_globals<64,_false>\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  uchar *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>\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  uchar" (function_declarator "_false>\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 "*puVar1" * identifier) ;) (declaration "_Hash_node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "General_options *pGVar3;" type_identifier (pointer_declarator "*pGVar3" * identifier) ;) (declaration "Target *pTVar4;" type_identifier (pointer_declarator "*pTVar4" * identifier) ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "_func_int_varargs **pp_Var6;" type_identifier (pointer_declarator "**pp_Var6" * (pointer_declarator "*pp_Var6" * identifier)) ;) (declaration "_func_int_varargs *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "pointer ppSVar8;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "_Hash_node_base **pp_Var12;" type_identifier (pointer_declarator "**pp_Var12" * (pointer_declarator "*pp_Var12" * identifier)) ;) (declaration "char cVar13;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var14;" type_identifier (pointer_declarator "*p_Var14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var16;" type_identifier (pointer_declarator "*p_Var16" * identifier) ;) (declaration "Output_section *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "_Hash_node_base *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "_Hash_node_base *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "Symbol *pSVar24;" type_identifier (pointer_declarator "*pSVar24" * identifier) ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "uint auStack_b4 [2];" type_identifier (array_declarator "auStack_b4 [2]" identifier [ number_literal ]) ;) (declaration "uint auStack_a0 [4];" type_identifier (array_declarator "auStack_a0 [4]" identifier [ number_literal ]) ;) (declaration "Target *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "code *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "_Hash_node_base *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "_Hash_node_base *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "_Hash_node_base *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "uchar *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uint local_78;" type_identifier identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "Parameters **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "undefined **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "_Hash_node_base *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "_Hash_node_base *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "_Hash_node_base *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "_Hash_node_base *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "uint 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 "_Hash_node_base *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "_Hash_node_base *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "_Hash_node_base *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "_Hash_node_base local_2c [7];" type_identifier (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "puVar25 = auStack_a0 + 1;" (assignment_expression "puVar25 = auStack_a0 + 1" identifier = (binary_expression "auStack_a0 + 1" identifier + number_literal)) ;) (expression_statement "local_64 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_64 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "local_68 = &parameters;" (assignment_expression "local_68 = &parameters" identifier = (pointer_expression "&parameters" & identifier)) ;) (expression_statement "local_90 = parameters->target_;" (assignment_expression "local_90 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (parameters->target_ == (Target *)0x0) {\nLAB_001ef0b3:\n    ppuVar5 = local_64;\n    puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94);\n    puVar25[0xfffffffd] = 0x69;\n    puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar25[0xfffffffb] = 0x1ef0ce;\n    do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])\n    ;\n  }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ef0b3:\n    ppuVar5 = local_64;\n    puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94);\n    puVar25[0xfffffffd] = 0x69;\n    puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar25[0xfffffffb] = 0x1ef0ce;\n    do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])\n    ;\n  }" { (labeled_statement "LAB_001ef0b3:\n    ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94);" (assignment_expression "puVar25[0xfffffffe] = (uint)(local_64 + -0x41a94)" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41a94)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41a94)" ( (binary_expression "local_64 + -0x41a94" identifier + number_literal) )))) ;) (expression_statement "puVar25[0xfffffffd] = 0x69;" (assignment_expression "puVar25[0xfffffffd] = 0x69" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;" (assignment_expression "puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar5 + -0x131d93" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[0xfffffffb] = 0x1ef0ce;" (assignment_expression "puVar25[0xfffffffb] = 0x1ef0ce" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])\n    ;" (call_expression "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])" identifier (argument_list "((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])" ( (cast_expression "(char *)puVar25[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "local_6c = this->output_count_;" (assignment_expression "local_6c = this->output_count_" identifier = (field_expression "this->output_count_" identifier -> field_identifier)) ;) (expression_statement "local_70 = this->first_global_index_;" (assignment_expression "local_70 = this->first_global_index_" identifier = (field_expression "this->first_global_index_" identifier -> field_identifier)) ;) (expression_statement "iVar23 = *(int *)((int)&this->offset_ + 4);" (assignment_expression "iVar23 = *(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 "uVar15 = (uint)this->offset_;" (assignment_expression "uVar15 = (uint)this->offset_" identifier = (cast_expression "(uint)this->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->offset_" identifier -> field_identifier))) ;) (if_statement "if ((local_6c == 0) || (uVar15 == 0 && iVar23 == 0)) {\n    local_7c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))\n    goto LAB_001ef186;\n    local_7c = of->base_ + uVar15;\n  }" if (parenthesized_expression "((local_6c == 0) || (uVar15 == 0 && iVar23 == 0))" ( (binary_expression "(local_6c == 0) || (uVar15 == 0 && iVar23 == 0)" (parenthesized_expression "(local_6c == 0)" ( (binary_expression "local_6c == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 0 && iVar23 == 0)" ( (binary_expression "uVar15 == 0 && iVar23 == 0" (binary_expression "uVar15 == 0" identifier == number_literal) && (binary_expression "iVar23 == 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 ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))\n    goto LAB_001ef186;\n    local_7c = of->base_ + uVar15;\n  }" else (compound_statement "{\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))\n    goto LAB_001ef186;\n    local_7c = of->base_ + uVar15;\n  }" { (if_statement "if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))\n    goto LAB_001ef186;" if (parenthesized_expression "((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))" ( (binary_expression "(iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)" (parenthesized_expression "(iVar23 < 0)" ( (binary_expression "iVar23 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)" ( (comma_expression "iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar10 = *(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 "iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar23 = iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15)" identifier = (binary_expression "iVar23 + (uint)CARRY4(local_6c * 0x18,uVar15)" identifier + (cast_expression "(uint)CARRY4(local_6c * 0x18,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_6c * 0x18,uVar15)" identifier (argument_list "(local_6c * 0x18,uVar15)" ( (binary_expression "local_6c * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "uVar27 = (uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15)" identifier = (call_expression "(uint)((uint)of->file_size_ < local_6c * 0x18 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < local_6c * 0x18 + uVar15)" ( (binary_expression "(uint)of->file_size_ < local_6c * 0x18 + uVar15" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "local_6c * 0x18 + uVar15" (binary_expression "local_6c * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar11 = iVar10 - iVar23" identifier = (binary_expression "iVar10 - iVar23" identifier - identifier)) , (binary_expression "(SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (parenthesized_expression "(SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27))" ( (binary_expression "SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)" (call_expression "SBORROW4(iVar10,iVar23)" identifier (argument_list "(iVar10,iVar23)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar27)" identifier (argument_list "(iVar11,uVar27)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar11 - uVar27) < 0" (cast_expression "(int)(iVar11 - uVar27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar27)" ( (binary_expression "iVar11 - uVar27" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_001ef186;" goto statement_identifier ;)) (expression_statement "local_7c = of->base_ + uVar15;" (assignment_expression "local_7c = of->base_ + uVar15" identifier = (binary_expression "of->base_ + uVar15" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) }))) (expression_statement "local_74 = this->dynamic_count_;" (assignment_expression "local_74 = this->dynamic_count_" identifier = (field_expression "this->dynamic_count_" identifier -> field_identifier)) ;) (expression_statement "local_78 = this->first_dynamic_global_index_;" (assignment_expression "local_78 = this->first_dynamic_global_index_" identifier = (field_expression "this->first_dynamic_global_index_" identifier -> field_identifier)) ;) (expression_statement "iVar23 = *(int *)((int)&this->dynamic_offset_ + 4);" (assignment_expression "iVar23 = *(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 "uVar15 = (uint)this->dynamic_offset_;" (assignment_expression "uVar15 = (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 ((local_74 == 0) || (uVar15 == 0 && iVar23 == 0)) {\n    local_48 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar15;\n  }" if (parenthesized_expression "((local_74 == 0) || (uVar15 == 0 && iVar23 == 0))" ( (binary_expression "(local_74 == 0) || (uVar15 == 0 && iVar23 == 0)" (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar15 == 0 && iVar23 == 0)" ( (binary_expression "uVar15 == 0 && iVar23 == 0" (binary_expression "uVar15 == 0" identifier == number_literal) && (binary_expression "iVar23 == 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 ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar15;\n  }" else (compound_statement "{\n    if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_48 = of->base_ + uVar15;\n  }" { (if_statement "if ((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)) {\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" if (parenthesized_expression "((iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0))" ( (binary_expression "(iVar23 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)" (parenthesized_expression "(iVar23 < 0)" ( (binary_expression "iVar23 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0)" ( (comma_expression "iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar10 = *(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 "iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15),\n       uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar23 = iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15)" identifier = (binary_expression "iVar23 + (uint)CARRY4(local_74 * 0x18,uVar15)" identifier + (cast_expression "(uint)CARRY4(local_74 * 0x18,uVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_74 * 0x18,uVar15)" identifier (argument_list "(local_74 * 0x18,uVar15)" ( (binary_expression "local_74 * 0x18" identifier * number_literal) , identifier )))))) , (comma_expression "uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15), iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "uVar27 = (uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15)" identifier = (call_expression "(uint)((uint)of->file_size_ < local_74 * 0x18 + uVar15)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < local_74 * 0x18 + uVar15)" ( (binary_expression "(uint)of->file_size_ < local_74 * 0x18 + uVar15" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "local_74 * 0x18 + uVar15" (binary_expression "local_74 * 0x18" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar11 = iVar10 - iVar23,\n       (SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (assignment_expression "iVar11 = iVar10 - iVar23" identifier = (binary_expression "iVar10 - iVar23" identifier - identifier)) , (binary_expression "(SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)) != (int)(iVar11 - uVar27) < 0" (parenthesized_expression "(SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27))" ( (binary_expression "SBORROW4(iVar10,iVar23) != SBORROW4(iVar11,uVar27)" (call_expression "SBORROW4(iVar10,iVar23)" identifier (argument_list "(iVar10,iVar23)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar27)" identifier (argument_list "(iVar11,uVar27)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar11 - uVar27) < 0" (cast_expression "(int)(iVar11 - uVar27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar27)" ( (binary_expression "iVar11 - uVar27" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\nLAB_001ef186:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" { (labeled_statement "LAB_001ef186:\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_ + uVar15;" (assignment_expression "local_48 = of->base_ + uVar15" identifier = (binary_expression "of->base_ + uVar15" (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)) ;) (expression_statement "puVar25 = auStack_a0 + 1;" (assignment_expression "puVar25 = auStack_a0 + 1" identifier = (binary_expression "auStack_a0 + 1" identifier + number_literal)) ;) (ERROR "if (local_4c != (_Hash_node_base *)0x0) {\n    local_8c = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c);\n    puVar25 = auStack_a0 + 1;\n    do {\n      p_Var2 = local_4c[3]._M_nxt;\n      if ((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))\n      {\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      p_Var14 = p_Var2[4]._M_nxt;\n      if (p_Var14 == (_Hash_node_base *)0x0) goto LAB_001eeff0;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (_Hash_node_base *)0xffffffff;\n        p_Var16 = p_Var14;\n      }\n      else {\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\n      }\n      if (p_Var16 != (_Hash_node_base *)0xffffffff) {\n        local_5c = p_Var2[0xc]._M_nxt;\n        local_58 = p_Var2[0xd]._M_nxt;\n        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);\n        uVar15 = bVar19 & 7;\n        bVar20 = (byte)uVar15;\n        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }\n        if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }\n        if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }\n        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }\n  ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar24 = *ppSVar8;\n  uVar15 = pSVar24->symtab_index_;\n  if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }\nLAB_001eeff0:\n  ppuVar5 = local_64;\n  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;\n  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;\n  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));\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)) )) { (expression_statement "local_8c = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c);" (assignment_expression "local_8c = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c)" identifier = (cast_expression "(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + identifier) )))) ;) (expression_statement "puVar25 = auStack_a0 + 1;" (assignment_expression "puVar25 = auStack_a0 + 1" identifier = (binary_expression "auStack_a0 + 1" identifier + number_literal)) ;) do (compound_statement "{\n      p_Var2 = local_4c[3]._M_nxt;\n      if ((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))\n      {\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      p_Var14 = p_Var2[4]._M_nxt;\n      if (p_Var14 == (_Hash_node_base *)0x0) goto LAB_001eeff0;\n      if (local_48 == (uchar *)0x0) {\n        local_60 = (_Hash_node_base *)0xffffffff;\n        p_Var16 = p_Var14;\n      }\n      else {\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\n      }\n      if (p_Var16 != (_Hash_node_base *)0xffffffff) {\n        local_5c = p_Var2[0xc]._M_nxt;\n        local_58 = p_Var2[0xd]._M_nxt;\n        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);\n        uVar15 = bVar19 & 7;\n        bVar20 = (byte)uVar15;\n        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }\n        if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }\n        if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }\n        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }\n  ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar24 = *ppSVar8;\n  uVar15 = pSVar24->symtab_index_;\n  if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }\nLAB_001eeff0:\n  ppuVar5 = local_64;\n  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;\n  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;\n  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));\n}" { (expression_statement "p_Var2 = local_4c[3]._M_nxt;" (assignment_expression "p_Var2 = local_4c[3]._M_nxt" identifier = (field_expression "local_4c[3]._M_nxt" (subscript_expression "local_4c[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))\n      {\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }\n      }" if (parenthesized_expression "((((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2))" ( (binary_expression "(((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)) && (*(byte *)&p_Var2[10]._M_nxt >> 4 != 2)" (parenthesized_expression "(((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0))" ( (binary_expression "((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)) &&\n          (p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)" (parenthesized_expression "((((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0))" ( (binary_expression "(((uint)p_Var2[10]._M_nxt & 0x70000) == 0) &&\n           (p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)" (parenthesized_expression "(((uint)p_Var2[10]._M_nxt & 0x70000) == 0)" ( (binary_expression "((uint)p_Var2[10]._M_nxt & 0x70000) == 0" (parenthesized_expression "((uint)p_Var2[10]._M_nxt & 0x70000)" ( (binary_expression "(uint)p_Var2[10]._M_nxt & 0x70000" (cast_expression "(uint)p_Var2[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) && (parenthesized_expression "(p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0)" ( (comma_expression "p_Var14 = p_Var2[2]._M_nxt, ((uint)p_Var14[0xb]._M_nxt & 1) != 0" (assignment_expression "p_Var14 = p_Var2[2]._M_nxt" identifier = (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "((uint)p_Var14[0xb]._M_nxt & 1) != 0" (parenthesized_expression "((uint)p_Var14[0xb]._M_nxt & 1)" ( (binary_expression "(uint)p_Var14[0xb]._M_nxt & 1" (cast_expression "(uint)p_Var14[0xb]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var14[0xb]._M_nxt" (subscript_expression "p_Var14[0xb]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(p_Var2[3]._M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var2[3]._M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var2[3]._M_nxt" (subscript_expression "p_Var2[3]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(*(byte *)&p_Var2[10]._M_nxt >> 4 != 2)" ( (binary_expression "*(byte *)&p_Var2[10]._M_nxt >> 4 != 2" (binary_expression "*(byte *)&p_Var2[10]._M_nxt >> 4" (pointer_expression "*(byte *)&p_Var2[10]._M_nxt" * (cast_expression "(byte *)&p_Var2[10]._M_nxt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var2[10]._M_nxt" & (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }\n      }" { (expression_statement "pGVar3 = (*local_68)->options_;" (assignment_expression "pGVar3 = (*local_68)->options_" identifier = (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier)) ;) (if_statement "if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef05c;" goto statement_identifier ;)) (if_statement "if ((pGVar3->allow_shlib_undefined_).value == false) {\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }" if (parenthesized_expression "((pGVar3->allow_shlib_undefined_).value == false)" ( (binary_expression "(pGVar3->allow_shlib_undefined_).value == false" (field_expression "(pGVar3->allow_shlib_undefined_).value" (parenthesized_expression "(pGVar3->allow_shlib_undefined_)" ( (field_expression "pGVar3->allow_shlib_undefined_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];\n          if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }\n          if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }\n        }" { (expression_statement "pTVar4 = (*local_68)->target_;" (assignment_expression "pTVar4 = (*local_68)->target_" identifier = (field_expression "(*local_68)->target_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier)) ;) (if_statement "if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;" if (parenthesized_expression "(pTVar4 == (Target *)0x0)" ( (binary_expression "pTVar4 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef0b3;" goto statement_identifier ;)) (expression_statement "ppuVar5 = (undefined **)pTVar4->_vptr_Target[7];" (assignment_expression "ppuVar5 = (undefined **)pTVar4->_vptr_Target[7]" identifier = (cast_expression "(undefined **)pTVar4->_vptr_Target[7]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pTVar4->_vptr_Target[7]" (field_expression "pTVar4->_vptr_Target" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar5 != local_64 + -0xdbf94) {\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }" if (parenthesized_expression "(ppuVar5 != local_64 + -0xdbf94)" ( (binary_expression "ppuVar5 != local_64 + -0xdbf94" identifier != (binary_expression "local_64 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            puVar25[-3] = (uint)p_Var2;\n            puVar25[-4] = (uint)pTVar4;\n            puVar25[-5] = 0x1eeeb3;\n            cVar13 = (*(code *)ppuVar5)();\n            if (cVar13 != '\0') goto LAB_001ee640;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;\n            p_Var14 = p_Var2[2]._M_nxt;\n          }" { (expression_statement "puVar25[-3] = (uint)p_Var2;" (assignment_expression "puVar25[-3] = (uint)p_Var2" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-4] = (uint)pTVar4;" (assignment_expression "puVar25[-4] = (uint)pTVar4" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)pTVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eeeb3;" (assignment_expression "puVar25[-5] = 0x1eeeb3" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "cVar13 = (*(code *)ppuVar5)();" (assignment_expression "cVar13 = (*(code *)ppuVar5)()" identifier = (call_expression "(*(code *)ppuVar5)()" (parenthesized_expression "(*(code *)ppuVar5)" ( (pointer_expression "*(code *)ppuVar5" * (cast_expression "(code *)ppuVar5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar13 != '\0') goto LAB_001ee640;" if (parenthesized_expression "(cVar13 != '\0')" ( (binary_expression "cVar13 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ee640;" goto statement_identifier ;)) (if_statement "if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;" if (parenthesized_expression "(((uint)p_Var2[10]._M_nxt & 0x70000) != 0)" ( (binary_expression "((uint)p_Var2[10]._M_nxt & 0x70000) != 0" (parenthesized_expression "((uint)p_Var2[10]._M_nxt & 0x70000)" ( (binary_expression "(uint)p_Var2[10]._M_nxt & 0x70000" (cast_expression "(uint)p_Var2[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001eeec8;" goto statement_identifier ;)) (expression_statement "p_Var14 = p_Var2[2]._M_nxt;" (assignment_expression "p_Var14 = p_Var2[2]._M_nxt" identifier = (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier)) ;) })) (if_statement "if (((uint)p_Var14[0xb]._M_nxt & 0x20) == 0) {\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }" if (parenthesized_expression "(((uint)p_Var14[0xb]._M_nxt & 0x20) == 0)" ( (binary_expression "((uint)p_Var14[0xb]._M_nxt & 0x20) == 0" (parenthesized_expression "((uint)p_Var14[0xb]._M_nxt & 0x20)" ( (binary_expression "(uint)p_Var14[0xb]._M_nxt & 0x20" (cast_expression "(uint)p_Var14[0xb]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var14[0xb]._M_nxt" (subscript_expression "p_Var14[0xb]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }\n          }" { (if_statement "if (p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0) {\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" if (parenthesized_expression "(p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var14[0x17]._M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var14[0x17]._M_nxt" (subscript_expression "p_Var14[0x17]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar25[-1] = 0;\n              puVar25[-2] = (uint)(local_64 + -0x41bb3);\n              puVar25[-3] = 0x3e;\n              puVar25[-4] = (uint)(local_64 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef21b;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" { (expression_statement "puVar25[-1] = 0;" (assignment_expression "puVar25[-1] = 0" (subscript_expression "puVar25[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41bb3);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41bb3)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bb3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bb3)" ( (binary_expression "local_64 + -0x41bb3" identifier + number_literal) )))) ;) (expression_statement "puVar25[-3] = 0x3e;" (assignment_expression "puVar25[-3] = 0x3e" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (uint)(local_64 + -0x47464);" (assignment_expression "puVar25[-4] = (uint)(local_64 + -0x47464)" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x47464)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x47464)" ( (binary_expression "local_64 + -0x47464" identifier + number_literal) )))) ;) comment (expression_statement "puVar25[-5] = 0x1ef21b;" (assignment_expression "puVar25[-5] = 0x1ef21b" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) })) (if_statement "if (p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1) {\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }" if (parenthesized_expression "(p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1)" ( (binary_expression "p_Var14[0x17]._M_nxt != (_Hash_node_base *)0x1" (field_expression "p_Var14[0x17]._M_nxt" (subscript_expression "p_Var14[0x17]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(_Hash_node_base *)0x1" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar25[-4] = (uint)p_Var2;\n              puVar25[-5] = 0x1eee46;\n              gold_undefined_symbol((Symbol *)puVar25[-4]);\n            }" { (expression_statement "puVar25[-4] = (uint)p_Var2;" (assignment_expression "puVar25[-4] = (uint)p_Var2" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eee46;" (assignment_expression "puVar25[-5] = 0x1eee46" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "gold_undefined_symbol((Symbol *)puVar25[-4]);" (call_expression "gold_undefined_symbol((Symbol *)puVar25[-4])" identifier (argument_list "((Symbol *)puVar25[-4])" ( (cast_expression "(Symbol *)puVar25[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) ))) ;) })) })) })) })) (labeled_statement "LAB_001ee640:\n      p_Var14 = p_Var2[4]._M_nxt;" statement_identifier : (expression_statement "p_Var14 = p_Var2[4]._M_nxt;" (assignment_expression "p_Var14 = p_Var2[4]._M_nxt" identifier = (field_expression "p_Var2[4]._M_nxt" (subscript_expression "p_Var2[4]" identifier [ number_literal ]) . field_identifier)) ;)) (if_statement "if (p_Var14 == (_Hash_node_base *)0x0) goto LAB_001eeff0;" if (parenthesized_expression "(p_Var14 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var14 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001eeff0;" goto statement_identifier ;)) (if_statement "if (local_48 == (uchar *)0x0) {\n        local_60 = (_Hash_node_base *)0xffffffff;\n        p_Var16 = p_Var14;\n      }\n      else {\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\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 = (_Hash_node_base *)0xffffffff;\n        p_Var16 = p_Var14;\n      }" { (expression_statement "local_60 = (_Hash_node_base *)0xffffffff;" (assignment_expression "local_60 = (_Hash_node_base *)0xffffffff" identifier = (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var16 = p_Var14;" (assignment_expression "p_Var16 = p_Var14" identifier = identifier) ;) }) (else_clause "else {\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\n      }" else (compound_statement "{\n        local_60 = p_Var2[5]._M_nxt;\n        if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;\n        p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);\n      }" { (expression_statement "local_60 = p_Var2[5]._M_nxt;" (assignment_expression "local_60 = p_Var2[5]._M_nxt" identifier = (field_expression "p_Var2[5]._M_nxt" (subscript_expression "p_Var2[5]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (local_60 == (_Hash_node_base *)0x0) goto LAB_001ef00e;" if (parenthesized_expression "(local_60 == (_Hash_node_base *)0x0)" ( (binary_expression "local_60 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef00e;" goto statement_identifier ;)) (expression_statement "p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14);" (assignment_expression "p_Var16 = (_Hash_node_base *)((uint)local_60 & (uint)p_Var14)" identifier = (cast_expression "(_Hash_node_base *)((uint)local_60 & (uint)p_Var14)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_60 & (uint)p_Var14)" ( (binary_expression "(uint)local_60 & (uint)p_Var14" (cast_expression "(uint)local_60" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)p_Var14" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (p_Var16 != (_Hash_node_base *)0xffffffff) {\n        local_5c = p_Var2[0xc]._M_nxt;\n        local_58 = p_Var2[0xd]._M_nxt;\n        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);\n        uVar15 = bVar19 & 7;\n        bVar20 = (byte)uVar15;\n        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }\n        if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }\n        if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }\n        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }\n  ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar24 = *ppSVar8;\n  uVar15 = pSVar24->symtab_index_;\n  if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }\nLAB_001eeff0:\n  ppuVar5 = local_64;\n  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;\n  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;\n  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));\n}" if (parenthesized_expression "(p_Var16 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var16 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_5c = p_Var2[0xc]._M_nxt;\n        local_58 = p_Var2[0xd]._M_nxt;\n        local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);\n        pGVar3 = (*local_68)->options_;\n        if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;\n        bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);\n        uVar15 = bVar19 & 7;\n        bVar20 = (byte)uVar15;\n        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }\n        if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }\n        if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }\n        switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }\n  ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  pSVar24 = *ppSVar8;\n  uVar15 = pSVar24->symtab_index_;\n  if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }\nLAB_001eeff0:\n  ppuVar5 = local_64;\n  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)((int)puVar25 + -0xc) = 0x180;\n  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;\n  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));\n}" { (expression_statement "local_5c = p_Var2[0xc]._M_nxt;" (assignment_expression "local_5c = p_Var2[0xc]._M_nxt" identifier = (field_expression "p_Var2[0xc]._M_nxt" (subscript_expression "p_Var2[0xc]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_58 = p_Var2[0xd]._M_nxt;" (assignment_expression "local_58 = p_Var2[0xd]._M_nxt" identifier = (field_expression "p_Var2[0xd]._M_nxt" (subscript_expression "p_Var2[0xd]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)&p_Var2[10]._M_nxt >> 4)" identifier = (call_expression "(uint)(*(byte *)&p_Var2[10]._M_nxt >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)&p_Var2[10]._M_nxt >> 4)" ( (binary_expression "*(byte *)&p_Var2[10]._M_nxt >> 4" (pointer_expression "*(byte *)&p_Var2[10]._M_nxt" * (cast_expression "(byte *)&p_Var2[10]._M_nxt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var2[10]._M_nxt" & (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)))) >> number_literal) )))) ;) (expression_statement "pGVar3 = (*local_68)->options_;" (assignment_expression "pGVar3 = (*local_68)->options_" identifier = (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier)) ;) (if_statement "if (pGVar3 == (General_options *)0x0) goto LAB_001ef05c;" if (parenthesized_expression "(pGVar3 == (General_options *)0x0)" ( (binary_expression "pGVar3 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef05c;" goto statement_identifier ;)) (expression_statement "bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2);" (assignment_expression "bVar19 = *(byte *)((int)&p_Var2[10]._M_nxt + 2)" identifier = (pointer_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 2)" * (cast_expression "(byte *)((int)&p_Var2[10]._M_nxt + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var2[10]._M_nxt + 2)" ( (binary_expression "(int)&p_Var2[10]._M_nxt + 2" (cast_expression "(int)&p_Var2[10]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var2[10]._M_nxt" & (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar15 = bVar19 & 7;" (assignment_expression "uVar15 = bVar19 & 7" identifier = (binary_expression "bVar19 & 7" identifier & number_literal)) ;) (expression_statement "bVar20 = (byte)uVar15;" (assignment_expression "bVar20 = (byte)uVar15" identifier = (cast_expression "(byte)uVar15" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }" if (parenthesized_expression "(((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1))" ( (binary_expression "((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)" (parenthesized_expression "((pGVar3->weak_unresolved_symbols_).value != false)" ( (binary_expression "(pGVar3->weak_unresolved_symbols_).value != false" (field_expression "(pGVar3->weak_unresolved_symbols_).value" (parenthesized_expression "(pGVar3->weak_unresolved_symbols_)" ( (field_expression "pGVar3->weak_unresolved_symbols_" identifier -> field_identifier) )) . field_identifier) != false) )) && (parenthesized_expression "(local_50 == 1)" ( (binary_expression "local_50 == 1" identifier == number_literal) ))) )) (compound_statement "{\n          if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }\n          if (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar20) goto LAB_001ef02c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          goto LAB_001ee768;\n        }" { (if_statement "if (bVar20 == 0) {\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }" if (parenthesized_expression "(bVar20 == 0)" ( (binary_expression "bVar20 == 0" identifier == number_literal) )) (compound_statement "{\n            local_54 = p_Var2[3]._M_nxt;\n            if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_8c)();\n            return;\n          }" { (expression_statement "local_54 = p_Var2[3]._M_nxt;" (assignment_expression "local_54 = p_Var2[3]._M_nxt" identifier = (field_expression "p_Var2[3]._M_nxt" (subscript_expression "p_Var2[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }" if (parenthesized_expression "((local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0))" ( (binary_expression "(local_54 == (_Hash_node_base *)0x0) &&\n               ((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)" (parenthesized_expression "(local_54 == (_Hash_node_base *)0x0)" ( (binary_expression "local_54 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1)" ( (binary_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1" (binary_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5" (pointer_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 3)" * (cast_expression "(byte *)((int)&p_Var2[10]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var2[10]._M_nxt + 3)" ( (binary_expression "(int)&p_Var2[10]._M_nxt + 3" (cast_expression "(int)&p_Var2[10]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var2[10]._M_nxt" & (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd2])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd2])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd2])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd2]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd2]" 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 (bVar20 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }" if (parenthesized_expression "(bVar20 == 4)" ( (binary_expression "bVar20 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd8])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd8])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd8])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd8]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd8]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar20) goto LAB_001ef02c;" if (parenthesized_expression "(4 < bVar20)" ( (binary_expression "4 < bVar20" number_literal < identifier) )) (goto_statement "goto LAB_001ef02c;" goto statement_identifier ;)) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (switch_statement "switch(local_64[uVar15 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" switch (parenthesized_expression "(local_64[uVar15 - 0x41cd7] + (int)local_64)" ( (binary_expression "local_64[uVar15 - 0x41cd7] + (int)local_64" (subscript_expression "local_64[uVar15 - 0x41cd7]" identifier [ (binary_expression "uVar15 - 0x41cd7" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;\n          case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" { (case_statement "case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0x0;\n            break;" case (cast_expression "(undefined *)0x1eeaf0" ( (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 = (_Hash_node_base *)0x0;" (assignment_expression "local_54 = (_Hash_node_base *)0x0" identifier = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (_Hash_node_base *)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1eeb10" ( (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 = (_Hash_node_base *)0xfff1;" (assignment_expression "local_54 = (_Hash_node_base *)0xfff1" identifier = (cast_expression "(_Hash_node_base *)0xfff1" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto LAB_001ee9c3;" case (cast_expression "(undefined *)0x1eed20" ( (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 LAB_001ee9c3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto LAB_001ee933;" case (cast_expression "(undefined *)0x1eed30" ( (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 LAB_001ee933;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ef128:\n_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);\n            puVar25[-3] = 0xaa;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = 0x1ef146;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" case (cast_expression "(undefined *)0x1ef128" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1796:\n            puVar25[-2] = (uint)(local_64 + -0x41a8e);" statement_identifier : (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41a8e);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41a8e)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41a8e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41a8e)" ( (binary_expression "local_64 + -0x41a8e" identifier + number_literal) )))) ;)) (expression_statement "puVar25[-3] = 0xaa;" (assignment_expression "puVar25[-3] = 0xaa" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x11d0d2;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x11d0d2" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = 0x1ef146;" (assignment_expression "puVar25[-5] = 0x1ef146" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;)) })) (goto_statement "goto LAB_001ee768;" goto statement_identifier ;) })) (if_statement "if (local_50 == 10) {\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }" if (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) (compound_statement "{\n          uVar27 = 1;\n          if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }\n          local_50 = uVar27;\n        }" { (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (if_statement "if ((pGVar3->gnu_unique_).value != false) {\n            uVar27 = local_50;\n          }" if (parenthesized_expression "((pGVar3->gnu_unique_).value != false)" ( (binary_expression "(pGVar3->gnu_unique_).value != false" (field_expression "(pGVar3->gnu_unique_).value" (parenthesized_expression "(pGVar3->gnu_unique_)" ( (field_expression "pGVar3->gnu_unique_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n            uVar27 = local_50;\n          }" { (expression_statement "uVar27 = local_50;" (assignment_expression "uVar27 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar27;" (assignment_expression "local_50 = uVar27" identifier = identifier) ;) })) (if_statement "if (4 < bVar20) {\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }" if (parenthesized_expression "(4 < bVar20)" ( (binary_expression "4 < bVar20" number_literal < identifier) )) (compound_statement "{\nLAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);\n          puVar25[-3] = 0xc9b;\n          puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[-5] = 0x1ef04a;\n          do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n        }" { (labeled_statement "LAB_001ef02c:\n          puVar25[-2] = (uint)(local_64 + -0x41bcf);" statement_identifier : (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;)) (expression_statement "puVar25[-3] = 0xc9b;" (assignment_expression "puVar25[-3] = 0xc9b" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x10763f;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x10763f" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = 0x1ef04a;" (assignment_expression "puVar25[-5] = 0x1ef04a" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) })) (switch_statement "switch(local_64[uVar15 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }" switch (parenthesized_expression "(local_64[uVar15 - 0x41ce6] + (int)local_64)" ( (binary_expression "local_64[uVar15 - 0x41ce6] + (int)local_64" (subscript_expression "local_64[uVar15 - 0x41ce6]" identifier [ (binary_expression "uVar15 - 0x41ce6" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;\n        case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);\n  }" { (case_statement "case (undefined *)0x1ee6f0:\n          if ((bVar19 & 7) != 0) goto _L1796;\n          local_54 = p_Var2[3]._M_nxt;\n          bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;\n          bVar19 = bVar20 & 1;\n          p_Var16 = local_54;\n          if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }\n          break;" case (cast_expression "(undefined *)0x1ee6f0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar19 & 7) != 0) goto _L1796;" if (parenthesized_expression "((bVar19 & 7) != 0)" ( (binary_expression "(bVar19 & 7) != 0" (parenthesized_expression "(bVar19 & 7)" ( (binary_expression "bVar19 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto _L1796;" goto statement_identifier ;)) (expression_statement "local_54 = p_Var2[3]._M_nxt;" (assignment_expression "local_54 = p_Var2[3]._M_nxt" identifier = (field_expression "p_Var2[3]._M_nxt" (subscript_expression "p_Var2[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5;" (assignment_expression "bVar20 = *(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5" identifier = (binary_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 3) >> 5" (pointer_expression "*(byte *)((int)&p_Var2[10]._M_nxt + 3)" * (cast_expression "(byte *)((int)&p_Var2[10]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var2[10]._M_nxt + 3)" ( (binary_expression "(int)&p_Var2[10]._M_nxt + 3" (cast_expression "(int)&p_Var2[10]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var2[10]._M_nxt" & (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar19 = bVar20 & 1;" (assignment_expression "bVar19 = bVar20 & 1" identifier = (binary_expression "bVar20 & 1" identifier & number_literal)) ;) (expression_statement "p_Var16 = local_54;" (assignment_expression "p_Var16 = local_54" identifier = identifier) ;) (if_statement "if ((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)) {\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }" if (parenthesized_expression "((local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1))" ( (binary_expression "(local_54 != (_Hash_node_base *)0xfff1) && (bVar19 != 1)" (parenthesized_expression "(local_54 != (_Hash_node_base *)0xfff1)" ( (binary_expression "local_54 != (_Hash_node_base *)0xfff1" identifier != (cast_expression "(_Hash_node_base *)0xfff1" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar19 != 1)" ( (binary_expression "bVar19 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            local_84 = local_54;\n            puVar25[-4] = (uint)local_54;\n            local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);\n            puVar25[-5] = 0x1eed62;\n            bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n            if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }\n            p_Var16 = local_84;\n            bVar19 = (byte)local_88;\n            if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n          }" { (expression_statement "local_84 = local_54;" (assignment_expression "local_84 = local_54" identifier = identifier) ;) (expression_statement "puVar25[-4] = (uint)local_54;" (assignment_expression "puVar25[-4] = (uint)local_54" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);" (assignment_expression "local_88 = (_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01)" identifier = (cast_expression "(_Hash_node_base *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01)" ( (binary_expression "CONCAT31(local_88._1_3_,bVar20) & 0xffffff01" (call_expression "CONCAT31(local_88._1_3_,bVar20)" identifier (argument_list "(local_88._1_3_,bVar20)" ( (field_expression "local_88._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "puVar25[-5] = 0x1eed62;" (assignment_expression "puVar25[-5] = 0x1eed62" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar28 = Symbol::" (assignment_expression "bVar28 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(puVar25[-4]);" (call_expression "is_common_shndx(puVar25[-4])" identifier (argument_list "(puVar25[-4])" ( (subscript_expression "puVar25[-4]" identifier [ number_literal ]) ))) ;) (if_statement "if (!bVar28) {\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }" if (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) (compound_statement "{\n              local_88 = local_84;\n              puVar25[-1] = 0x1eedd0;\n              demangle((string *)*puVar25,(char *)puVar25[1]);\n              local_84 = local_34;\n              puVar25[-4] = (uint)(local_64 + -0x41d21);\n              puVar25[-5] = 0x1eedea;\n              uVar18 = gettext();\n              puVar25[-2] = (uint)local_88;\n              puVar25[-3] = (uint)local_84;\n              puVar25[-4] = uVar18;\n                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */\n              puVar25[-5] = 0x1eee01;\n              gold_error((char *)puVar25[-4]);\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }\n              break;\n            }" { (expression_statement "local_88 = local_84;" (assignment_expression "local_88 = local_84" identifier = identifier) ;) (expression_statement "puVar25[-1] = 0x1eedd0;" (assignment_expression "puVar25[-1] = 0x1eedd0" (subscript_expression "puVar25[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "demangle((string *)*puVar25,(char *)puVar25[1]);" (call_expression "demangle((string *)*puVar25,(char *)puVar25[1])" identifier (argument_list "((string *)*puVar25,(char *)puVar25[1])" ( (cast_expression "(string *)*puVar25" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier)) , (cast_expression "(char *)puVar25[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[1]" identifier [ number_literal ])) ))) ;) (expression_statement "local_84 = local_34;" (assignment_expression "local_84 = local_34" identifier = identifier) ;) (expression_statement "puVar25[-4] = (uint)(local_64 + -0x41d21);" (assignment_expression "puVar25[-4] = (uint)(local_64 + -0x41d21)" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41d21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41d21)" ( (binary_expression "local_64 + -0x41d21" identifier + number_literal) )))) ;) (expression_statement "puVar25[-5] = 0x1eedea;" (assignment_expression "puVar25[-5] = 0x1eedea" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar18 = gettext();" (assignment_expression "uVar18 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar25[-2] = (uint)local_88;" (assignment_expression "puVar25[-2] = (uint)local_88" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (cast_expression "(uint)local_88" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-3] = (uint)local_84;" (assignment_expression "puVar25[-3] = (uint)local_84" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-4] = uVar18;" (assignment_expression "puVar25[-4] = uVar18" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar25[-5] = 0x1eee01;" (assignment_expression "puVar25[-5] = 0x1eee01" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "gold_error((char *)puVar25[-4]);" (call_expression "gold_error((char *)puVar25[-4])" identifier (argument_list "((char *)puVar25[-4])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (if_statement "if (local_34 != local_2c) {\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n                puVar25[-4] = (uint)local_34;\n                puVar25[-5] = 0x1eee1e;\n                operator_delete((void *)puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n              }" { (expression_statement "puVar25[-4] = (uint)local_34;" (assignment_expression "puVar25[-4] = (uint)local_34" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eee1e;" (assignment_expression "puVar25[-5] = 0x1eee1e" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)puVar25[-4]);" (call_expression "operator_delete((void *)puVar25[-4])" identifier (argument_list "((void *)puVar25[-4])" ( (cast_expression "(void *)puVar25[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "p_Var16 = local_84;" (assignment_expression "p_Var16 = local_84" identifier = identifier) ;) (expression_statement "bVar19 = (byte)local_88;" (assignment_expression "bVar19 = (byte)local_88" identifier = (cast_expression "(byte)local_88" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (((uint)p_Var2[10]._M_nxt & 0x70000) != 0) {\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" if (parenthesized_expression "(((uint)p_Var2[10]._M_nxt & 0x70000) != 0)" ( (binary_expression "((uint)p_Var2[10]._M_nxt & 0x70000) != 0" (parenthesized_expression "((uint)p_Var2[10]._M_nxt & 0x70000)" ( (binary_expression "(uint)p_Var2[10]._M_nxt & 0x70000" (cast_expression "(uint)p_Var2[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);\n              puVar25[-3] = 0xa1;\n              puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = (uint)&UNK_001eeee6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" { (labeled_statement "LAB_001eeec8:\n              puVar25[-2] = (uint)(local_64 + -0x41a96);" statement_identifier : (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41a96);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41a96)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41a96)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41a96)" ( (binary_expression "local_64 + -0x41a96" identifier + number_literal) )))) ;)) (expression_statement "puVar25[-3] = 0xa1;" (assignment_expression "puVar25[-3] = 0xa1" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x11d0d2;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x11d0d2" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = (uint)&UNK_001eeee6;" (assignment_expression "puVar25[-5] = (uint)&UNK_001eeee6" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001eeee6" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) })) })) (expression_statement "p_Var9 = p_Var2[2]._M_nxt;" (assignment_expression "p_Var9 = p_Var2[2]._M_nxt" identifier = (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (((uint)p_Var9[0xb]._M_nxt & 1) == 0) {\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }\n          else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }" if (parenthesized_expression "(((uint)p_Var9[0xb]._M_nxt & 1) == 0)" ( (binary_expression "((uint)p_Var9[0xb]._M_nxt & 1) == 0" (parenthesized_expression "((uint)p_Var9[0xb]._M_nxt & 1)" ( (binary_expression "(uint)p_Var9[0xb]._M_nxt & 1" (cast_expression "(uint)p_Var9[0xb]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var9[0xb]._M_nxt" (subscript_expression "p_Var9[0xb]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            p_Var21 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);\n            p_Var21 = p_Var21[5]._M_nxt;\n            puVar25[-5] = 0x1eeb52;\n            local_84 = p_Var16;\n            iVar23 = (*(code *)p_Var21)();\n            if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;\n            if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }\n          }" { (expression_statement "p_Var21 = p_Var9->_M_nxt;" (assignment_expression "p_Var21 = p_Var9->_M_nxt" identifier = (field_expression "p_Var9->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "puVar25[-4] = (uint)p_Var9;" (assignment_expression "puVar25[-4] = (uint)p_Var9" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19);" (assignment_expression "local_88 = (_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19)" identifier = (cast_expression "(_Hash_node_base *)CONCAT31(local_88._1_3_,bVar19)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_88._1_3_,bVar19)" identifier (argument_list "(local_88._1_3_,bVar19)" ( (field_expression "local_88._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "p_Var21 = p_Var21[5]._M_nxt;" (assignment_expression "p_Var21 = p_Var21[5]._M_nxt" identifier = (field_expression "p_Var21[5]._M_nxt" (subscript_expression "p_Var21[5]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar25[-5] = 0x1eeb52;" (assignment_expression "puVar25[-5] = 0x1eeb52" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_84 = p_Var16;" (assignment_expression "local_84 = p_Var16" identifier = identifier) ;) (expression_statement "iVar23 = (*(code *)p_Var21)();" (assignment_expression "iVar23 = (*(code *)p_Var21)()" identifier = (call_expression "(*(code *)p_Var21)()" (parenthesized_expression "(*(code *)p_Var21)" ( (pointer_expression "*(code *)p_Var21" * (cast_expression "(code *)p_Var21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)) goto _L1861;" if (parenthesized_expression "((local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0))" ( (binary_expression "(local_84 == (_Hash_node_base *)0x0) || (iVar23 != 0)" (parenthesized_expression "(local_84 == (_Hash_node_base *)0x0)" ( (binary_expression "local_84 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar23 != 0)" ( (binary_expression "iVar23 != 0" identifier != number_literal) ))) )) (goto_statement "goto _L1861;" goto statement_identifier ;)) (if_statement "if ((byte)local_88 == '\0') {\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }" if (parenthesized_expression "((byte)local_88 == '\0')" ( (binary_expression "(byte)local_88 == '\0'" (cast_expression "(byte)local_88" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              p_Var16 = local_5c;\n              p_Var21 = local_58;\n              if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }\n            }" { (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (if_statement "if (local_84 != (_Hash_node_base *)0xfff1) {\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }" if (parenthesized_expression "(local_84 != (_Hash_node_base *)0xfff1)" ( (binary_expression "local_84 != (_Hash_node_base *)0xfff1" identifier != (cast_expression "(_Hash_node_base *)0xfff1" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                puVar25[-4] = (uint)local_84;\n                puVar25[-5] = 0x1eeb91;\n                bVar28 = Symbol::is_common_shndx(puVar25[-4]);\n                p_Var16 = local_5c;\n                p_Var21 = local_58;\n                if (!bVar28) goto LAB_001eeb9f;\n              }" { (expression_statement "puVar25[-4] = (uint)local_84;" (assignment_expression "puVar25[-4] = (uint)local_84" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eeb91;" (assignment_expression "puVar25[-5] = 0x1eeb91" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar28 = Symbol::" (assignment_expression "bVar28 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(puVar25[-4]);" (call_expression "is_common_shndx(puVar25[-4])" identifier (argument_list "(puVar25[-4])" ( (subscript_expression "puVar25[-4]" identifier [ number_literal ]) ))) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (if_statement "if (!bVar28) goto LAB_001eeb9f;" if (parenthesized_expression "(!bVar28)" ( (unary_expression "!bVar28" ! identifier) )) (goto_statement "goto LAB_001eeb9f;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }" else (compound_statement "{\nLAB_001eeb9f:\n              p_Var21 = local_84;\n              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;\n              local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              puVar25[-2] = (uint)local_54;\n              puVar25[-3] = (uint)p_Var9;\n              puVar25[-4] = (uint)this;\n              puVar25[-5] = 0x1eebe4;\n              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);\n              if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }\n              puVar25 = puVar26;\n              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;\n              if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }\n              if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }\n              p_Var21 = local_58;\n              p_Var16 = local_5c;\n              if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }\n              if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }\n            }" { (labeled_statement "LAB_001eeb9f:\n              p_Var21 = local_84;" statement_identifier : (expression_statement "p_Var21 = local_84;" (assignment_expression "p_Var21 = local_84" identifier = identifier) ;)) (expression_statement "p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;" (assignment_expression "p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt" identifier = (field_expression "p_Var9->_M_nxt[0x18]._M_nxt" (subscript_expression "p_Var9->_M_nxt[0x18]" (field_expression "p_Var9->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec);" (assignment_expression "local_88 = (_Hash_node_base *)(local_64 + -0xdb9ec)" identifier = (cast_expression "(_Hash_node_base *)(local_64 + -0xdb9ec)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_64 + -0xdb9ec)" ( (binary_expression "local_64 + -0xdb9ec" identifier + number_literal) )))) ;) (if_statement "if (p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)) {\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }\n              else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" if (parenthesized_expression "(p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec))" ( (binary_expression "p_Var16 == (_Hash_node_base *)(local_64 + -0xdb9ec)" identifier == (cast_expression "(_Hash_node_base *)(local_64 + -0xdb9ec)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_64 + -0xdb9ec)" ( (binary_expression "local_64 + -0xdb9ec" identifier + number_literal) )))) )) (compound_statement "{\n                p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);\n                puVar26 = puVar25;\n                if (p_Var16 <= local_84) goto LAB_001ef1e6;\n                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;\n                local_54 = p_Var21;\n              }" { (expression_statement "p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);" (assignment_expression "p_Var16 = (_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2)" identifier = (cast_expression "(_Hash_node_base *)\n                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2)" ( (binary_expression "(int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2" (binary_expression "(int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt" (cast_expression "(int)p_Var9[0xf]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var9[0xf]._M_nxt" (subscript_expression "p_Var9[0xf]" identifier [ number_literal ]) . field_identifier)) - (cast_expression "(int)p_Var9[0xe]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var9[0xe]._M_nxt" (subscript_expression "p_Var9[0xe]" identifier [ number_literal ]) . field_identifier))) >> number_literal) )))) ;) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) (if_statement "if (p_Var16 <= local_84) goto LAB_001ef1e6;" if (parenthesized_expression "(p_Var16 <= local_84)" ( (binary_expression "p_Var16 <= local_84" identifier <= identifier) )) (goto_statement "goto LAB_001ef1e6;" goto statement_identifier ;)) (expression_statement "local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;" (assignment_expression "local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt" identifier = (field_expression "p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt" (subscript_expression "p_Var9[0xe]._M_nxt[(int)local_84]" (field_expression "p_Var9[0xe]._M_nxt" (subscript_expression "p_Var9[0xe]" identifier [ number_literal ]) . field_identifier) [ (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) ]) . field_identifier)) ;) (expression_statement "local_54 = p_Var21;" (assignment_expression "local_54 = p_Var21" identifier = identifier) ;) }) (else_clause "else {\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" else (compound_statement "{\n                local_54 = local_84;\n                puVar25[-3] = (uint)local_84;\n                puVar25[-4] = (uint)p_Var9;\n                puVar25[-5] = 0x1eefa1;\n                local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" { (expression_statement "local_54 = local_84;" (assignment_expression "local_54 = local_84" identifier = identifier) ;) (expression_statement "puVar25[-3] = (uint)local_84;" (assignment_expression "puVar25[-3] = (uint)local_84" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)local_84" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-4] = (uint)p_Var9;" (assignment_expression "puVar25[-4] = (uint)p_Var9" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eefa1;" (assignment_expression "puVar25[-5] = 0x1eefa1" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_84 = (_Hash_node_base *)(*(code *)p_Var16)();" (assignment_expression "local_84 = (_Hash_node_base *)(*(code *)p_Var16)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var16)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var16)()" (parenthesized_expression "(*(code *)p_Var16)" ( (pointer_expression "*(code *)p_Var16" * (cast_expression "(code *)p_Var16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar25[-2] = (uint)local_54;" (assignment_expression "puVar25[-2] = (uint)local_54" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-3] = (uint)p_Var9;" (assignment_expression "puVar25[-3] = (uint)p_Var9" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-4] = (uint)this;" (assignment_expression "puVar25[-4] = (uint)this" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eebe4;" (assignment_expression "puVar25[-5] = 0x1eebe4" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2]);" (assignment_expression "bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2])" identifier = (call_expression "is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2])" identifier (argument_list "((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],\n                                         puVar25[-2])" ( (cast_expression "(Symbol_table *)puVar25[-4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (cast_expression "(Relobj *)puVar25[-3]" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-3]" identifier [ number_literal ])) , (subscript_expression "puVar25[-2]" identifier [ number_literal ]) )))) ;) (if_statement "if (bVar28) {\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }\n              else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }" if (parenthesized_expression "(bVar28)" ( identifier )) (compound_statement "{\n                puVar25[-1] = (uint)local_54;\n                puVar25[-2] = (uint)p_Var9;\n                puVar25[-3] = (uint)this->icf_;\n                puVar25[-4] = (uint)&local_44;\n                puVar25[-5] = 0x1eef13;\n                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);\n                puVar26 = puVar25 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n                p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }\n                puVar26 = puVar25 + -1;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }\n              }" { (expression_statement "puVar25[-1] = (uint)local_54;" (assignment_expression "puVar25[-1] = (uint)local_54" (subscript_expression "puVar25[-1]" identifier [ number_literal ]) = (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-2] = (uint)p_Var9;" (assignment_expression "puVar25[-2] = (uint)p_Var9" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-3] = (uint)this->icf_;" (assignment_expression "puVar25[-3] = (uint)this->icf_" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)this->icf_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->icf_" identifier -> field_identifier))) ;) (expression_statement "puVar25[-4] = (uint)&local_44;" (assignment_expression "puVar25[-4] = (uint)&local_44" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&local_44" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "puVar25[-5] = 0x1eef13;" (assignment_expression "puVar25[-5] = 0x1eef13" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);" statement_identifier : (ERROR ":" :) (expression_statement "get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);" (call_expression "get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1])" identifier (argument_list "((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1])" ( (cast_expression "(Icf *)puVar25[-3]" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-3]" identifier [ number_literal ])) , (cast_expression "(Relobj *)puVar25[-2]" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) , (subscript_expression "puVar25[-1]" identifier [ number_literal ]) ))) ;)) (expression_statement "puVar26 = puVar25 + -1;" (assignment_expression "puVar26 = puVar25 + -1" identifier = (binary_expression "puVar25 + -1" identifier + number_literal)) ;) (if_statement "if (local_44 == (int *)0x0) {\n                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\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                  puVar25[-2] = 0;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc53;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001ef162;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }" { (expression_statement "puVar25[-2] = 0;" (assignment_expression "puVar25[-2] = 0" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-3] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[-3] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[-4] = 0xc53;" (assignment_expression "puVar25[-4] = 0xc53" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-5] = (int)local_64 + -0x10763f;" (assignment_expression "puVar25[-5] = (int)local_64 + -0x10763f" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-6] = (uint)&UNK_001ef162;" (assignment_expression "puVar25[-6] = (uint)&UNK_001ef162" (subscript_expression "puVar25[-6]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ef162" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);" (call_expression "do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3])" identifier (argument_list "((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3])" ( (cast_expression "(char *)puVar25[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-5]" identifier [ number_literal ])) , (subscript_expression "puVar25[-4]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-3]" identifier [ number_literal ])) ))) ;) })) (expression_statement "p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60);" (assignment_expression "p_Var16 = *(_Hash_node_base **)(*local_44 + 0x60)" identifier = (pointer_expression "*(_Hash_node_base **)(*local_44 + 0x60)" * (cast_expression "(_Hash_node_base **)(*local_44 + 0x60)" ( (type_descriptor "_Hash_node_base **" 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) ))))) ;) (if_statement "if (p_Var16 == local_88) {\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }\n                else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }" if (parenthesized_expression "(p_Var16 == local_88)" ( (binary_expression "p_Var16 == local_88" identifier == identifier) )) (compound_statement "{\n                  p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);\n                  if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }\n                  local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);\n                }" { (expression_statement "p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2);" (assignment_expression "p_Var16 = (_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2)" identifier = (cast_expression "(_Hash_node_base *)(local_44[0xf] - local_44[0xe] >> 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(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) )))) ;) (if_statement "if (p_Var16 <= local_40) {\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }" if (parenthesized_expression "(p_Var16 <= local_40)" ( (binary_expression "p_Var16 <= local_40" identifier <= identifier) )) (compound_statement "{\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;\n                    *(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;\n                    do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;\n                  }" { (labeled_statement "LAB_001ef1e6:\n                    ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(_Hash_node_base **)((int)puVar26 + -4) = p_Var16;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -4) = p_Var16" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -4)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -4)" ( (binary_expression "(int)puVar26 + -4" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9" (pointer_expression "*(undefined ***)((int)puVar26 + -8)" * (cast_expression "(undefined ***)((int)puVar26 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar26 + -8)" ( (binary_expression "(int)puVar26 + -8" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar5 + -0x41aa9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)((int)puVar26 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar26 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0xc)" ( (binary_expression "(int)puVar26 + -0xc" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;" (assignment_expression "*(undefined ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e" (pointer_expression "*(undefined ***)((int)puVar26 + -0x10)" * (cast_expression "(undefined ***)((int)puVar26 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar26 + -0x10)" ( (binary_expression "(int)puVar26 + -0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar5 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ef202" (pointer_expression "*(undefined4 *)((int)puVar26 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x14)" ( (binary_expression "(int)puVar26 + -0x14" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))\n                    ;" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),\n                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))" ( (pointer_expression "*(char **)((int)puVar26 + -0x10)" * (cast_expression "(char **)((int)puVar26 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x10)" ( (binary_expression "(int)puVar26 + -0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar26 + -0xc)" * (cast_expression "(int *)((int)puVar26 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0xc)" ( (binary_expression "(int)puVar26 + -0xc" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar26 + -8)" * (cast_expression "(char **)((int)puVar26 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -8)" ( (binary_expression "(int)puVar26 + -8" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4);" (assignment_expression "local_84 = *(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4)" identifier = (pointer_expression "*(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4)" * (cast_expression "(_Hash_node_base **)(local_44[0xe] + (int)local_40 * 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_44[0xe] + (int)local_40 * 4)" ( (binary_expression "local_44[0xe] + (int)local_40 * 4" (subscript_expression "local_44[0xe]" identifier [ number_literal ]) + (binary_expression "(int)local_40 * 4" (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }" else (compound_statement "{\n                  puVar25[-4] = (uint)local_40;\n                  puVar25[-5] = (uint)local_44;\n                  puVar25[-6] = 0x1ef051;\n                  local_84 = (_Hash_node_base *)(*(code *)p_Var16)();\n                }" { (expression_statement "puVar25[-4] = (uint)local_40;" (assignment_expression "puVar25[-4] = (uint)local_40" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_40" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = (uint)local_44;" (assignment_expression "puVar25[-5] = (uint)local_44" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-6] = 0x1ef051;" (assignment_expression "puVar25[-6] = 0x1ef051" (subscript_expression "puVar25[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_84 = (_Hash_node_base *)(*(code *)p_Var16)();" (assignment_expression "local_84 = (_Hash_node_base *)(*(code *)p_Var16)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var16)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var16)()" (parenthesized_expression "(*(code *)p_Var16)" ( (pointer_expression "*(code *)p_Var16" * (cast_expression "(code *)p_Var16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar26 = puVar25 + -1;" (assignment_expression "puVar26 = puVar25 + -1" identifier = (binary_expression "puVar25 + -1" identifier + number_literal)) ;) (if_statement "if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }" if (parenthesized_expression "(local_84 == (_Hash_node_base *)0x0)" ( (binary_expression "local_84 == (_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                  puVar25[-2] = (uint)p_Var2;\n                  puVar25[-3] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-4] = 0xc57;\n                  puVar25[-5] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-6] = (uint)&UNK_001eef75;\n                  do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);\n                }" { (expression_statement "puVar25[-2] = (uint)p_Var2;" (assignment_expression "puVar25[-2] = (uint)p_Var2" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-3] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[-3] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[-4] = 0xc57;" (assignment_expression "puVar25[-4] = 0xc57" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-5] = (int)local_64 + -0x10763f;" (assignment_expression "puVar25[-5] = (int)local_64 + -0x10763f" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-6] = (uint)&UNK_001eef75;" (assignment_expression "puVar25[-6] = (uint)&UNK_001eef75" (subscript_expression "puVar25[-6]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001eef75" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);" (call_expression "do_gold_unreachable((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3])" identifier (argument_list "((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3])" ( (cast_expression "(char *)puVar25[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-5]" identifier [ number_literal ])) , (subscript_expression "puVar25[-4]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-3]" identifier [ number_literal ])) ))) ;) })) }) (else_clause "else {\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }" else (compound_statement "{\n                puVar26 = puVar25;\n                if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }\n              }" { (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) (if_statement "if (local_84 == (_Hash_node_base *)0x0) {\n                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }" if (parenthesized_expression "(local_84 == (_Hash_node_base *)0x0)" ( (binary_expression "local_84 == (_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                  puVar25[-1] = (uint)local_54;\n                  puVar25[-2] = (uint)(local_64 + -0x41bcf);\n                  puVar25[-3] = 0xc59;\n                  puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar25[-5] = 0x1ef1bb;\n                  do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n                }" { (expression_statement "puVar25[-1] = (uint)local_54;" (assignment_expression "puVar25[-1] = (uint)local_54" (subscript_expression "puVar25[-1]" identifier [ number_literal ]) = (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[-3] = 0xc59;" (assignment_expression "puVar25[-3] = 0xc59" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x10763f;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x10763f" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = 0x1ef1bb;" (assignment_expression "puVar25[-5] = 0x1ef1bb" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) })) }))) (expression_statement "puVar25 = puVar26;" (assignment_expression "puVar25 = puVar26" identifier = identifier) ;) (expression_statement "p_Var16 = local_84->_M_nxt[0xb]._M_nxt;" (assignment_expression "p_Var16 = local_84->_M_nxt[0xb]._M_nxt" identifier = (field_expression "local_84->_M_nxt[0xb]._M_nxt" (subscript_expression "local_84->_M_nxt[0xb]" (field_expression "local_84->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)) {\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" if (parenthesized_expression "(p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68))" ( (binary_expression "p_Var16 == (_Hash_node_base *)(local_64 + -0xcba68)" identifier == (cast_expression "(_Hash_node_base *)(local_64 + -0xcba68)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_64 + -0xcba68)" ( (binary_expression "local_64 + -0xcba68" identifier + number_literal) )))) )) (compound_statement "{\n                local_54 = local_84[0x18]._M_nxt;\n                if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n              }" { (expression_statement "local_54 = local_84[0x18]._M_nxt;" (assignment_expression "local_54 = local_84[0x18]._M_nxt" identifier = (field_expression "local_84[0x18]._M_nxt" (subscript_expression "local_84[0x18]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }" if (parenthesized_expression "(local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_84[0x18]._M_nxt == (_Hash_node_base *)0xffffffff" (field_expression "local_84[0x18]._M_nxt" (subscript_expression "local_84[0x18]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ef21b:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }" { (labeled_statement "LAB_001ef21b:\n                  ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bb7" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41bb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x1043" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;" (assignment_expression "*(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469" (pointer_expression "*(undefined ***)((int)puVar25 + -0x10)" * (cast_expression "(undefined ***)((int)puVar25 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar5 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;" (assignment_expression "*(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239" (pointer_expression "*(undefined1 **)((int)puVar25 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar25 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_001ef239" & identifier)) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }) (else_clause "else {\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" else (compound_statement "{\n                *(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;\n                local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n              }" { (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_84;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_84" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x10)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eef8c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (_Hash_node_base *)(*(code *)p_Var16)();" (assignment_expression "local_54 = (_Hash_node_base *)(*(code *)p_Var16)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var16)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var16)()" (parenthesized_expression "(*(code *)p_Var16)" ( (pointer_expression "*(code *)p_Var16" * (cast_expression "(code *)p_Var16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (if_statement "if ((_Hash_node_base *)0xfeff < local_54) {\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }" if (parenthesized_expression "((_Hash_node_base *)0xfeff < local_54)" ( (binary_expression "(_Hash_node_base *)0xfeff < local_54" (cast_expression "(_Hash_node_base *)0xfeff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }\n                if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n              }" { (if_statement "if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }" if (parenthesized_expression "(p_Var14 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var14 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  local_34 = p_Var14;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                }" { (expression_statement "local_30 = local_54;" (assignment_expression "local_30 = local_54" identifier = identifier) ;) (expression_statement "*(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;" (assignment_expression "*(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34" (pointer_expression "*(_Hash_node_base ***)((int)puVar25 + -0xc)" * (cast_expression "(_Hash_node_base ***)((int)puVar25 + -0xc)" ( (type_descriptor "_Hash_node_base ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "local_34 = p_Var14;" (assignment_expression "local_34 = p_Var14" identifier = identifier) ;) (expression_statement "*(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;" (assignment_expression "*(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_" (pointer_expression "*(Xindex_entries **)((int)puVar25 + -0x10)" * (cast_expression "(Xindex_entries **)((int)puVar25 + -0x10)" ( (type_descriptor "Xindex_entries **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&symtab_xindex->entries_" & (field_expression "symtab_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eec4d" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));" 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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" ( (comma_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" (pointer_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10)" * (call_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10)" (parenthesized_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)" ( (ERROR "vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "vector<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "vector<std::pair<unsigned_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                               **" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                               **" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" * (call_expression "(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" (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 "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) })) (if_statement "if (local_60 == (_Hash_node_base *)0xffffffff) {\n                  local_54 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }" if (parenthesized_expression "(local_60 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_60 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_54 = (_Hash_node_base *)0xffff;\n                }" { (expression_statement "local_54 = (_Hash_node_base *)0xffff;" (assignment_expression "local_54 = (_Hash_node_base *)0xffff" identifier = (cast_expression "(_Hash_node_base *)0xffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }" else (compound_statement "{\n                  local_34 = local_60;\n                  local_30 = local_54;\n                  *(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;\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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));\n                  local_54 = (_Hash_node_base *)0xffff;\n                }" { (expression_statement "local_34 = local_60;" (assignment_expression "local_34 = local_60" identifier = identifier) ;) (expression_statement "local_30 = local_54;" (assignment_expression "local_30 = local_54" identifier = identifier) ;) (expression_statement "*(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34;" (assignment_expression "*(_Hash_node_base ***)((int)puVar25 + -0xc) = &local_34" (pointer_expression "*(_Hash_node_base ***)((int)puVar25 + -0xc)" * (cast_expression "(_Hash_node_base ***)((int)puVar25 + -0xc)" ( (type_descriptor "_Hash_node_base ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;" (assignment_expression "*(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_" (pointer_expression "*(Xindex_entries **)((int)puVar25 + -0x10)" * (cast_expression "(Xindex_entries **)((int)puVar25 + -0x10)" ( (type_descriptor "Xindex_entries **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&dynsym_xindex->entries_" & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eec78" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));" 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                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "(*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc))" ( (comma_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" (pointer_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10)" * (call_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar25 + -0x10)" (parenthesized_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)" ( (ERROR "vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "vector<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "vector<std::pair<unsigned_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                               **" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                               **" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" * (call_expression "(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc)" (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 "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) (expression_statement "local_54 = (_Hash_node_base *)0xffff;" (assignment_expression "local_54 = (_Hash_node_base *)0xffff" identifier = (cast_expression "(_Hash_node_base *)0xffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) })) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (if_statement "if ((*local_68)->options_ == (General_options *)0x0) {\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }" if (parenthesized_expression "((*local_68)->options_ == (General_options *)0x0)" ( (binary_expression "(*local_68)->options_ == (General_options *)0x0" (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ef05c:\n                ppuVar5 = local_64;\n                *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)((int)puVar25 + -0xc) = 0x5c;\n                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;\n                do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));\n              }" { (labeled_statement "LAB_001ef05c:\n                ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41a86" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41a86" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar5 + -0x131d93" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef077" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                    *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (((*local_68)->options_->relocatable_).value != false) {\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }" if (parenthesized_expression "(((*local_68)->options_->relocatable_).value != false)" ( (binary_expression "((*local_68)->options_->relocatable_).value != false" (field_expression "((*local_68)->options_->relocatable_).value" (parenthesized_expression "((*local_68)->options_->relocatable_)" ( (field_expression "(*local_68)->options_->relocatable_" (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }\n                bVar28 = local_5c < local_84[1]._M_nxt;\n                local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);\n                local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));\n              }" { (if_statement "if (((uint)local_84[7]._M_nxt & 1) == 0) {\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }" if (parenthesized_expression "(((uint)local_84[7]._M_nxt & 1) == 0)" ( (binary_expression "((uint)local_84[7]._M_nxt & 1) == 0" (parenthesized_expression "((uint)local_84[7]._M_nxt & 1)" ( (binary_expression "(uint)local_84[7]._M_nxt & 1" (cast_expression "(uint)local_84[7]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_84[7]._M_nxt" (subscript_expression "local_84[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_001ef168:\n                  ppuVar5 = local_64;\n                  *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)((int)puVar25 + -0xc) = 0xc5;\n                  *(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;\n                  do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));\n                }" { (labeled_statement "LAB_001ef168:\n                  ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b7f" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41b7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;" (assignment_expression "*(undefined ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469" (pointer_expression "*(undefined ***)((int)puVar25 + -0x10)" * (cast_expression "(undefined ***)((int)puVar25 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar5 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef186" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)\n                                      ,*(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "bVar28 = local_5c < local_84[1]._M_nxt;" (assignment_expression "bVar28 = local_5c < local_84[1]._M_nxt" identifier = (binary_expression "local_5c < local_84[1]._M_nxt" identifier < (field_expression "local_84[1]._M_nxt" (subscript_expression "local_84[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt);" (assignment_expression "local_5c = (_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt)" identifier = (cast_expression "(_Hash_node_base *)((int)local_5c - (int)local_84[1]._M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c - (int)local_84[1]._M_nxt)" ( (binary_expression "(int)local_5c - (int)local_84[1]._M_nxt" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_84[1]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "local_84[1]._M_nxt" (subscript_expression "local_84[1]" identifier [ number_literal ]) . field_identifier))) )))) ;) (expression_statement "local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt));" (assignment_expression "local_58 = (_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt))" identifier = (cast_expression "(_Hash_node_base *)\n                           ((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt))" ( (binary_expression "(int)local_58 + (-(uint)bVar28 - (int)local_84[2]._M_nxt)" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)bVar28 - (int)local_84[2]._M_nxt)" ( (binary_expression "-(uint)bVar28 - (int)local_84[2]._M_nxt" (unary_expression "-(uint)bVar28" - (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) - (cast_expression "(int)local_84[2]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "local_84[2]._M_nxt" (subscript_expression "local_84[2]" identifier [ number_literal ]) . field_identifier))) ))) )))) ;) })) }))) }) (else_clause "else {\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }" else (compound_statement "{\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }\n            local_54 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);\n          }" { (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (if_statement "if (((uint)p_Var2[10]._M_nxt & 0x2000000) != 0) {\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }" if (parenthesized_expression "(((uint)p_Var2[10]._M_nxt & 0x2000000) != 0)" ( (binary_expression "((uint)p_Var2[10]._M_nxt & 0x2000000) != 0" (parenthesized_expression "((uint)p_Var2[10]._M_nxt & 0x2000000)" ( (binary_expression "(uint)p_Var2[10]._M_nxt & 0x2000000" (cast_expression "(uint)p_Var2[10]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[10]._M_nxt" (subscript_expression "p_Var2[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n              pp_Var6 = local_90->_vptr_Target;\n              puVar25[-3] = (uint)p_Var2;\n              puVar25[-4] = (uint)local_90;\n              p_Var7 = pp_Var6[5];\n              puVar25[-5] = 0x1ee745;\n              p_Var16 = (_Hash_node_base *)(*p_Var7)();\n              p_Var21 = extraout_EDX;\n            }" { (expression_statement "pp_Var6 = local_90->_vptr_Target;" (assignment_expression "pp_Var6 = local_90->_vptr_Target" identifier = (field_expression "local_90->_vptr_Target" identifier -> field_identifier)) ;) (expression_statement "puVar25[-3] = (uint)p_Var2;" (assignment_expression "puVar25[-3] = (uint)p_Var2" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-4] = (uint)local_90;" (assignment_expression "puVar25[-4] = (uint)local_90" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_90" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "p_Var7 = pp_Var6[5];" (assignment_expression "p_Var7 = pp_Var6[5]" identifier = (subscript_expression "pp_Var6[5]" identifier [ number_literal ])) ;) (expression_statement "puVar25[-5] = 0x1ee745;" (assignment_expression "puVar25[-5] = 0x1ee745" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var16 = (_Hash_node_base *)(*p_Var7)();" (assignment_expression "p_Var16 = (_Hash_node_base *)(*p_Var7)()" identifier = (cast_expression "(_Hash_node_base *)(*p_Var7)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var7)()" (parenthesized_expression "(*p_Var7)" ( (pointer_expression "*p_Var7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "p_Var21 = extraout_EDX;" (assignment_expression "p_Var21 = extraout_EDX" identifier = identifier) ;) })) (expression_statement "local_54 = (_Hash_node_base *)0x0;" (assignment_expression "local_54 = (_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_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1)" ( (binary_expression "*(byte *)&p_Var2[0xb]._M_nxt >> 1 & 1" (binary_expression "*(byte *)&p_Var2[0xb]._M_nxt >> 1" (pointer_expression "*(byte *)&p_Var2[0xb]._M_nxt" * (cast_expression "(byte *)&p_Var2[0xb]._M_nxt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var2[0xb]._M_nxt" & (field_expression "p_Var2[0xb]._M_nxt" (subscript_expression "p_Var2[0xb]" identifier [ number_literal ]) . field_identifier)))) >> number_literal) & number_literal) )) == number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ee930:\n          bVar20 = bVar19 & 7;\nLAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          puVar25[-4] = (uint)p_Var2[2]._M_nxt;\n          puVar25[-5] = 0x1ee94a;\n          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);\n          if (pOVar17 == (Output_section *)0x0) goto _L1868;\n          ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }\n          break;" case (cast_expression "(undefined *)0x1ee930" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar20 = bVar19 & 7;" (assignment_expression "bVar20 = bVar19 & 7" identifier = (binary_expression "bVar19 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_001ee933:\n          if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" statement_identifier : (if_statement "if (bVar20 != 2) {\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" if (parenthesized_expression "(bVar20 != 2)" ( (binary_expression "bVar20 != 2" identifier != number_literal) )) (compound_statement "{\n            puVar25[-2] = (uint)(local_64 + -0x41b8b);\n            puVar25[-3] = 200;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefce;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" { (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41b8b);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41b8b)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41b8b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41b8b)" ( (binary_expression "local_64 + -0x41b8b" identifier + number_literal) )))) ;) (expression_statement "puVar25[-3] = 200;" (assignment_expression "puVar25[-3] = 200" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x11d0d2;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x11d0d2" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = (uint)&UNK_001eefce;" (assignment_expression "puVar25[-5] = (uint)&UNK_001eefce" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001eefce" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "puVar25[-4] = (uint)p_Var2[2]._M_nxt;" (assignment_expression "puVar25[-4] = (uint)p_Var2[2]._M_nxt" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var2[2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar25[-5] = 0x1ee94a;" (assignment_expression "puVar25[-5] = 0x1ee94a" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "pOVar17 = Output_segment::" (assignment_expression "pOVar17 = Output_segment" identifier = identifier) : :) (expression_statement "first_section((Output_segment *)puVar25[-4]);" (call_expression "first_section((Output_segment *)puVar25[-4])" identifier (argument_list "((Output_segment *)puVar25[-4])" ( (cast_expression "(Output_segment *)puVar25[-4]" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) ))) ;) (if_statement "if (pOVar17 == (Output_section *)0x0) goto _L1868;" if (parenthesized_expression "(pOVar17 == (Output_section *)0x0)" ( (binary_expression "pOVar17 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto _L1868;" goto statement_identifier ;)) (expression_statement "ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "ppuVar5 = (undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb]" identifier = (cast_expression "(undefined **)(pOVar17->super_Output_data)._vptr_Output_data[0xb]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "(pOVar17->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar17->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar5 == local_64 + -0xcba68) {\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }\n          else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }" if (parenthesized_expression "(ppuVar5 == local_64 + -0xcba68)" ( (binary_expression "ppuVar5 == local_64 + -0xcba68" identifier == (binary_expression "local_64 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_54 = (_Hash_node_base *)pOVar17->out_shndx_;\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n            if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;\n          }" { (expression_statement "local_54 = (_Hash_node_base *)pOVar17->out_shndx_;" (assignment_expression "local_54 = (_Hash_node_base *)pOVar17->out_shndx_" identifier = (cast_expression "(_Hash_node_base *)pOVar17->out_shndx_" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar17->out_shndx_" identifier -> field_identifier))) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (if_statement "if ((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ef21b;" if (parenthesized_expression "((_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff)" ( (binary_expression "(_Hash_node_base *)pOVar17->out_shndx_ == (_Hash_node_base *)0xffffffff" (cast_expression "(_Hash_node_base *)pOVar17->out_shndx_" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar17->out_shndx_" identifier -> field_identifier)) == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef21b;" goto statement_identifier ;)) }) (else_clause "else {\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }" else (compound_statement "{\n            puVar25[-4] = (uint)pOVar17;\n            puVar25[-5] = 0x1eed8e;\n            local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();\n            p_Var16 = local_5c;\n            p_Var21 = local_58;\n          }" { (expression_statement "puVar25[-4] = (uint)pOVar17;" (assignment_expression "puVar25[-4] = (uint)pOVar17" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[-5] = 0x1eed8e;" (assignment_expression "puVar25[-5] = 0x1eed8e" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_54 = (_Hash_node_base *)(*(code *)ppuVar5)();" (assignment_expression "local_54 = (_Hash_node_base *)(*(code *)ppuVar5)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)ppuVar5)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)ppuVar5)()" (parenthesized_expression "(*(code *)ppuVar5)" ( (pointer_expression "*(code *)ppuVar5" * (cast_expression "(code *)ppuVar5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ee990:\n_L1861:\n          local_54 = (_Hash_node_base *)0x0;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;" case (cast_expression "(undefined *)0x1ee990" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1861:\n          local_54 = (_Hash_node_base *)0x0;" statement_identifier : (expression_statement "local_54 = (_Hash_node_base *)0x0;" (assignment_expression "local_54 = (_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 "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ee9a8:\n_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          break;" case (cast_expression "(undefined *)0x1ee9a8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1868:\n          local_54 = (_Hash_node_base *)0xfff1;" statement_identifier : (expression_statement "local_54 = (_Hash_node_base *)0xfff1;" (assignment_expression "local_54 = (_Hash_node_base *)0xfff1" identifier = (cast_expression "(_Hash_node_base *)0xfff1" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ee9c0:\n          bVar20 = bVar19 & 7;\nLAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }\n          p_Var9 = p_Var2[2]._M_nxt;\n          p_Var16 = p_Var9->_M_nxt;\n          puVar25[-4] = (uint)p_Var9;\n          p_Var16 = p_Var16[0xb]._M_nxt;\n          puVar25[-5] = 0x1ee9d8;\n          local_54 = (_Hash_node_base *)(*(code *)p_Var16)();\n          if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    } while (*pp_Var12 != (_Hash_node_base *)0x0);" case (cast_expression "(undefined *)0x1ee9c0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar20 = bVar19 & 7;" (assignment_expression "bVar20 = bVar19 & 7" identifier = (binary_expression "bVar19 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_001ee9c3:\n          if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" statement_identifier : (if_statement "if (bVar20 != 1) {\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" if (parenthesized_expression "(bVar20 != 1)" ( (binary_expression "bVar20 != 1" identifier != number_literal) )) (compound_statement "{\n            puVar25[-2] = (uint)(local_64 + -0x41b7d);\n            puVar25[-3] = 0xb5;\n            puVar25[-4] = (int)local_64 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar25[-5] = (uint)&UNK_001eefee;\n            do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n          }" { (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41b7d);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41b7d)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41b7d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41b7d)" ( (binary_expression "local_64 + -0x41b7d" identifier + number_literal) )))) ;) (expression_statement "puVar25[-3] = 0xb5;" (assignment_expression "puVar25[-3] = 0xb5" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x11d0d2;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x11d0d2" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = (uint)&UNK_001eefee;" (assignment_expression "puVar25[-5] = (uint)&UNK_001eefee" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001eefee" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "p_Var9 = p_Var2[2]._M_nxt;" (assignment_expression "p_Var9 = p_Var2[2]._M_nxt" identifier = (field_expression "p_Var2[2]._M_nxt" (subscript_expression "p_Var2[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var16 = p_Var9->_M_nxt;" (assignment_expression "p_Var16 = p_Var9->_M_nxt" identifier = (field_expression "p_Var9->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "puVar25[-4] = (uint)p_Var9;" (assignment_expression "puVar25[-4] = (uint)p_Var9" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "p_Var16 = p_Var16[0xb]._M_nxt;" (assignment_expression "p_Var16 = p_Var16[0xb]._M_nxt" identifier = (field_expression "p_Var16[0xb]._M_nxt" (subscript_expression "p_Var16[0xb]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar25[-5] = 0x1ee9d8;" (assignment_expression "puVar25[-5] = 0x1ee9d8" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_54 = (_Hash_node_base *)(*(code *)p_Var16)();" (assignment_expression "local_54 = (_Hash_node_base *)(*(code *)p_Var16)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var16)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var16)()" (parenthesized_expression "(*(code *)p_Var16)" ( (pointer_expression "*(code *)p_Var16" * (cast_expression "(code *)p_Var16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if ((_Hash_node_base *)0xfeff < local_54) {\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    }" if (parenthesized_expression "((_Hash_node_base *)0xfeff < local_54)" ( (binary_expression "(_Hash_node_base *)0xfeff < local_54" (cast_expression "(_Hash_node_base *)0xfeff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }\n            if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }\n      pp_Var12 = &local_4c->_M_nxt;\n      local_4c = *pp_Var12;\n    }" { (if_statement "if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }" if (parenthesized_expression "(p_Var14 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var14 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              local_34 = p_Var14;\n              puVar25[-4] = (uint)&symtab_xindex->entries_;\n              puVar25[-5] = 0x1eea03;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n            }" { (expression_statement "local_30 = local_54;" (assignment_expression "local_30 = local_54" identifier = identifier) ;) (expression_statement "puVar25[-3] = (uint)&local_34;" (assignment_expression "puVar25[-3] = (uint)&local_34" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (binary_expression "(uint)&local_34" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "local_34 = p_Var14;" (assignment_expression "local_34 = p_Var14" identifier = identifier) ;) (expression_statement "puVar25[-4] = (uint)&symtab_xindex->entries_;" (assignment_expression "puVar25[-4] = (uint)&symtab_xindex->entries_" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&symtab_xindex->entries_" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "symtab_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "puVar25[-5] = 0x1eea03;" (assignment_expression "puVar25[-5] = 0x1eea03" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);" 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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);" (comma_expression "pair<unsigned_int,_unsigned_int>_" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier)) (ERROR ">\n                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" > ( ( (ERROR "vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "vector<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "vector<std::pair<unsigned_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" (binary_expression "_unsigned_int>_>_>\n                          *)puVar25[-4]" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "*)puVar25[-4]" * (ERROR ")" )) (subscript_expression "puVar25[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" ( (comma_expression "pair<unsigned_int,_unsigned_int> *)puVar25[-3]" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *)puVar25[-3]" identifier > (pointer_expression "*)puVar25[-3]" * (ERROR ")" )) (subscript_expression "puVar25[-3]" identifier [ number_literal ])))) ))))) ;)) })) (if_statement "if (local_60 == (_Hash_node_base *)0xffffffff) {\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }" if (parenthesized_expression "(local_60 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_60 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_54 = (_Hash_node_base *)0xffff;\n            }" { (expression_statement "local_54 = (_Hash_node_base *)0xffff;" (assignment_expression "local_54 = (_Hash_node_base *)0xffff" identifier = (cast_expression "(_Hash_node_base *)0xffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }" else (compound_statement "{\n              local_34 = local_60;\n              local_30 = local_54;\n              puVar25[-3] = (uint)&local_34;\n              puVar25[-4] = (uint)&dynsym_xindex->entries_;\n              puVar25[-5] = 0x1eea2e;\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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff) {\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }\n        if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }\n      }" { (expression_statement "local_34 = local_60;" (assignment_expression "local_34 = local_60" identifier = identifier) ;) (expression_statement "local_30 = local_54;" (assignment_expression "local_30 = local_54" identifier = identifier) ;) (expression_statement "puVar25[-3] = (uint)&local_34;" (assignment_expression "puVar25[-3] = (uint)&local_34" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = (binary_expression "(uint)&local_34" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "puVar25[-4] = (uint)&dynsym_xindex->entries_;" (assignment_expression "puVar25[-4] = (uint)&dynsym_xindex->entries_" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&dynsym_xindex->entries_" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "puVar25[-5] = 0x1eea2e;" (assignment_expression "puVar25[-5] = 0x1eea2e" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff)" 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                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff)" (comma_expression "pair<unsigned_int,_unsigned_int>_>\n                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff)" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>\n                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff)" (binary_expression "_unsigned_int>_" identifier > identifier) > (parenthesized_expression "((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)0xffffffff)" ( (parenthesized_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false) {\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }\n        }\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *)" ( (ERROR "vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);\n              local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0) goto LAB_001ef05c;\n          p_Var16 = local_5c;\n          p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false)" (comma_expression "vector<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "vector<std::pair<unsigned_int" (binary_expression "vector<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" (binary_expression "_unsigned_int>_>_>\n                          *)puVar25[-4]" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "*)puVar25[-4]" * (ERROR ")" )) (subscript_expression "puVar25[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)puVar25[-3])" ( (comma_expression "pair<unsigned_int,_unsigned_int> *)puVar25[-3]" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *)puVar25[-3]" identifier > (pointer_expression "*)puVar25[-3]" * (ERROR ")" )) (subscript_expression "puVar25[-3]" identifier [ number_literal ])))) )))) ; (call_expression "local_54 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_68)->options_ == (General_options *)0x0)" (assignment_expression "local_54 = (_Hash_node_base *)0xffff" identifier = (cast_expression "(_Hash_node_base *)0xffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ";\n            }\n          }\n          if" ; } } if) (argument_list "((*local_68)->options_ == (General_options *)0x0)" ( (binary_expression "(*local_68)->options_ == (General_options *)0x0" (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) identifier identifier ; (assignment_expression "p_Var16 = local_5c" identifier = identifier) ; (call_expression "p_Var21 = local_58;\n          if (((*local_68)->options_->relocatable_).value != false)" (assignment_expression "p_Var21 = local_58" identifier = identifier) (ERROR ";\n          if" ; if) (argument_list "(((*local_68)->options_->relocatable_).value != false)" ( (binary_expression "((*local_68)->options_->relocatable_).value != false" (field_expression "((*local_68)->options_->relocatable_).value" (parenthesized_expression "((*local_68)->options_->relocatable_)" ( (field_expression "(*local_68)->options_->relocatable_" (field_expression "(*local_68)->options_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier) != false) )))) (compound_statement "{\n            p_Var16 = p_Var9->_M_nxt;\n            puVar25[-4] = (uint)p_Var9;\n            p_Var16 = p_Var16[9]._M_nxt;\n            puVar25[-5] = 0x1eea5e;\n            iVar23 = (*(code *)p_Var16)();\n            p_Var21 = local_58;\n            p_Var16 = local_5c;\n            if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }\n            if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;\n            bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);\n            local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));\n            local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));\n          }" { (expression_statement "p_Var16 = p_Var9->_M_nxt;" (assignment_expression "p_Var16 = p_Var9->_M_nxt" identifier = (field_expression "p_Var9->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "puVar25[-4] = (uint)p_Var9;" (assignment_expression "puVar25[-4] = (uint)p_Var9" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (cast_expression "(uint)p_Var9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "p_Var16 = p_Var16[9]._M_nxt;" (assignment_expression "p_Var16 = p_Var16[9]._M_nxt" identifier = (field_expression "p_Var16[9]._M_nxt" (subscript_expression "p_Var16[9]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "puVar25[-5] = 0x1eea5e;" (assignment_expression "puVar25[-5] = 0x1eea5e" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar23 = (*(code *)p_Var16)();" (assignment_expression "iVar23 = (*(code *)p_Var16)()" identifier = (call_expression "(*(code *)p_Var16)()" (parenthesized_expression "(*(code *)p_Var16)" ( (pointer_expression "*(code *)p_Var16" * (cast_expression "(code *)p_Var16" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "p_Var21 = local_58;" (assignment_expression "p_Var21 = local_58" identifier = identifier) ;) (expression_statement "p_Var16 = local_5c;" (assignment_expression "p_Var16 = local_5c" identifier = identifier) ;) (if_statement "if (iVar23 == 0) {\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\n              puVar25[-2] = (uint)(local_64 + -0x41bcf);\n              puVar25[-3] = 0xc81;\n              puVar25[-4] = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n              puVar25[-5] = 0x1ef1e6;\n              do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);\n            }" { (expression_statement "puVar25[-2] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[-2] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[-3] = 0xc81;" (assignment_expression "puVar25[-3] = 0xc81" (subscript_expression "puVar25[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[-4] = (int)local_64 + -0x10763f;" (assignment_expression "puVar25[-4] = (int)local_64 + -0x10763f" (subscript_expression "puVar25[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[-5] = 0x1ef1e6;" (assignment_expression "puVar25[-5] = 0x1ef1e6" (subscript_expression "puVar25[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);" (call_expression "do_gold_unreachable((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" identifier (argument_list "((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2])" ( (cast_expression "(char *)puVar25[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-4]" identifier [ number_literal ])) , (subscript_expression "puVar25[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[-2]" identifier [ number_literal ])) ))) ;) })) (if_statement "if ((*(byte *)(iVar23 + 0x1c) & 1) == 0) goto LAB_001ef168;" if (parenthesized_expression "((*(byte *)(iVar23 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar23 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar23 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar23 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar23 + 0x1c)" * (cast_expression "(byte *)(iVar23 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 0x1c)" ( (binary_expression "iVar23 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001ef168;" goto statement_identifier ;)) (expression_statement "bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4);" (assignment_expression "bVar28 = local_5c < *(_Hash_node_base **)(iVar23 + 4)" identifier = (binary_expression "local_5c < *(_Hash_node_base **)(iVar23 + 4)" identifier < (pointer_expression "*(_Hash_node_base **)(iVar23 + 4)" * (cast_expression "(_Hash_node_base **)(iVar23 + 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4));" (assignment_expression "local_5c = (_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4))" identifier = (cast_expression "(_Hash_node_base *)((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4))" ( (binary_expression "(int)local_5c - (int)*(_Hash_node_base **)(iVar23 + 4)" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)*(_Hash_node_base **)(iVar23 + 4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(_Hash_node_base **)(iVar23 + 4)" * (cast_expression "(_Hash_node_base **)(iVar23 + 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))))) )))) ;) (expression_statement "local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)));" (assignment_expression "local_58 = (_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)))" identifier = (cast_expression "(_Hash_node_base *)((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8)))" ( (binary_expression "(int)local_58 + (-(uint)bVar28 - *(int *)(iVar23 + 8))" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)bVar28 - *(int *)(iVar23 + 8))" ( (binary_expression "-(uint)bVar28 - *(int *)(iVar23 + 8)" (unary_expression "-(uint)bVar28" - (cast_expression "(uint)bVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) - (pointer_expression "*(int *)(iVar23 + 8)" * (cast_expression "(int *)(iVar23 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 8)" ( (binary_expression "iVar23 + 8" identifier + number_literal) ))))) ))) )))) ;) }) (ERROR "}\nLAB_001ee768:\n        if (p_Var14 != (_Hash_node_base *" } identifier : if ( identifier != ( identifier *) )) (ERROR "0xffffffff" number_literal) )))) ;)) (compound_statement "{\n          if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          local_84 = p_Var16;\n          local_80 = p_Var21;\n          *(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;\n          *(Stringpool **)((int)puVar25 + -8) = sympool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          p_Var16 = local_84;\n          p_Var21 = local_80;\n        }" { (if_statement "if (local_6c <= (int)p_Var14 - local_70) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" if (parenthesized_expression "(local_6c <= (int)p_Var14 - local_70)" ( (binary_expression "local_6c <= (int)p_Var14 - local_70" identifier <= (binary_expression "(int)p_Var14 - local_70" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xca1;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41bcf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef10a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_84 = p_Var16;" (assignment_expression "local_84 = p_Var16" identifier = identifier) ;) (expression_statement "local_80 = p_Var21;" (assignment_expression "local_80 = p_Var21" identifier = identifier) ;) (expression_statement "*(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;" (assignment_expression "*(uchar **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18" (pointer_expression "*(uchar **)((int)puVar25 + -4)" * (cast_expression "(uchar **)((int)puVar25 + -4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_7c + ((int)p_Var14 - local_70) * 0x18" identifier + (binary_expression "((int)p_Var14 - local_70) * 0x18" (parenthesized_expression "((int)p_Var14 - local_70)" ( (binary_expression "(int)p_Var14 - local_70" (cast_expression "(int)p_Var14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(Stringpool **)((int)puVar25 + -8) = sympool;" (assignment_expression "*(Stringpool **)((int)puVar25 + -8) = sympool" (pointer_expression "*(Stringpool **)((int)puVar25 + -8)" * (cast_expression "(Stringpool **)((int)puVar25 + -8)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar25 + -0xc) = local_50;" (assignment_expression "*(uint *)((int)puVar25 + -0xc) = local_50" (pointer_expression "*(uint *)((int)puVar25 + -0xc)" * (cast_expression "(uint *)((int)puVar25 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_54" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x10)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x14) = local_58;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x14) = local_58" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x14)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x14)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x18) = local_5c" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x18)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x18)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x1c)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x1c)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar25 + -0x20) = this;" (assignment_expression "*(Symbol_table **)((int)puVar25 + -0x20) = this" (pointer_expression "*(Symbol_table **)((int)puVar25 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar25 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7a1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));" (comma_expression "sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" identifier > (parenthesized_expression "(*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" ( (comma_expression "*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Symbol_table **)((int)puVar25 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar25 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Sized_symbol<64> **)((int)puVar25 + -0x1c)" * (call_expression "(Sized_symbol<64> **)((int)puVar25 + -0x1c)" (parenthesized_expression "(Sized_symbol<64> **)" ( (binary_expression "Sized_symbol<64> **" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Elf_Addr *)((int)puVar25 + -0x18)" * (cast_expression "(Elf_Addr *)((int)puVar25 + -0x18)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(uint *)((int)puVar25 + -0x10)" * (cast_expression "(uint *)((int)puVar25 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(STB *)((int)puVar25 + -0xc)" * (cast_expression "(STB *)((int)puVar25 + -0xc)" ( (type_descriptor "STB *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Stringpool **)((int)puVar25 + -8)" * (cast_expression "(Stringpool **)((int)puVar25 + -8)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uchar **)((int)puVar25 + -4)" * (cast_expression "(uchar **)((int)puVar25 + -4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))))) )))) ;) (expression_statement "p_Var16 = local_84;" (assignment_expression "p_Var16 = local_84" identifier = identifier) ;) (expression_statement "p_Var21 = local_80;" (assignment_expression "p_Var21 = local_80" identifier = identifier) ;) }) (if_statement "if (local_60 != (_Hash_node_base *)0xffffffff) {\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }" if (parenthesized_expression "(local_60 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_60 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }\n          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;\n          *(uchar **)((int)puVar25 + -4) = puVar1;\n          *(Stringpool **)((int)puVar25 + -8) = dynpool;\n          *(uint *)((int)puVar25 + -0xc) = local_50;\n          *(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;\n          *(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;\n          *(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;\n          *(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;\n          *(Symbol_table **)((int)puVar25 + -0x20) = this;\n          *(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;\n          sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));\n          pTVar4 = (*local_68)->target_;\n          if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;\n          ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];\n          if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }\n        }" { (if_statement "if (local_74 <= (int)local_60 - local_78) {\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" if (parenthesized_expression "(local_74 <= (int)local_60 - local_78)" ( (binary_expression "local_74 <= (int)local_60 - local_78" identifier <= (binary_expression "(int)local_60 - local_78" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\n            *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;\n            *(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;\n            do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bcf" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41bcf" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)local_64 + -0x10763f" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_64 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef0ec" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                                *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;" (assignment_expression "puVar1 = 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 "*(uchar **)((int)puVar25 + -4) = puVar1;" (assignment_expression "*(uchar **)((int)puVar25 + -4) = puVar1" (pointer_expression "*(uchar **)((int)puVar25 + -4)" * (cast_expression "(uchar **)((int)puVar25 + -4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Stringpool **)((int)puVar25 + -8) = dynpool;" (assignment_expression "*(Stringpool **)((int)puVar25 + -8) = dynpool" (pointer_expression "*(Stringpool **)((int)puVar25 + -8)" * (cast_expression "(Stringpool **)((int)puVar25 + -8)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar25 + -0xc) = local_50;" (assignment_expression "*(uint *)((int)puVar25 + -0xc) = local_50" (pointer_expression "*(uint *)((int)puVar25 + -0xc)" * (cast_expression "(uint *)((int)puVar25 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_54;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x10) = local_54" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x10)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x14) = p_Var21" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x14)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x14)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x18) = p_Var16" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x18)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x18)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0x1c) = p_Var2" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0x1c)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0x1c)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar25 + -0x20) = this;" (assignment_expression "*(Symbol_table **)((int)puVar25 + -0x20) = this" (pointer_expression "*(Symbol_table **)((int)puVar25 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar25 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1ee7de" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4));" (comma_expression "sized_write_symbol<64,_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_false>\n                    (*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" identifier > (parenthesized_expression "(*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4))" ( (comma_expression "*(Symbol_table **)((int)puVar25 + -0x20),\n                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Symbol_table **)((int)puVar25 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar25 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Sized_symbol<64> **)((int)puVar25 + -0x1c),\n                     *(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Sized_symbol<64> **)((int)puVar25 + -0x1c)" * (call_expression "(Sized_symbol<64> **)((int)puVar25 + -0x1c)" (parenthesized_expression "(Sized_symbol<64> **)" ( (binary_expression "Sized_symbol<64> **" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Elf_Addr *)((int)puVar25 + -0x18),*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Elf_Addr *)((int)puVar25 + -0x18)" * (cast_expression "(Elf_Addr *)((int)puVar25 + -0x18)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(uint *)((int)puVar25 + -0x10),\n                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(uint *)((int)puVar25 + -0x10)" * (cast_expression "(uint *)((int)puVar25 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(STB *)((int)puVar25 + -0xc)" * (cast_expression "(STB *)((int)puVar25 + -0xc)" ( (type_descriptor "STB *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Stringpool **)((int)puVar25 + -8),\n                     *(uchar **)((int)puVar25 + -4)" (pointer_expression "*(Stringpool **)((int)puVar25 + -8)" * (cast_expression "(Stringpool **)((int)puVar25 + -8)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uchar **)((int)puVar25 + -4)" * (cast_expression "(uchar **)((int)puVar25 + -4)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))))))) )))) ;) (expression_statement "pTVar4 = (*local_68)->target_;" (assignment_expression "pTVar4 = (*local_68)->target_" identifier = (field_expression "(*local_68)->target_" (parenthesized_expression "(*local_68)" ( (pointer_expression "*local_68" * identifier) )) -> field_identifier)) ;) (if_statement "if (pTVar4 == (Target *)0x0) goto LAB_001ef0b3;" if (parenthesized_expression "(pTVar4 == (Target *)0x0)" ( (binary_expression "pTVar4 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ef0b3;" goto statement_identifier ;)) (expression_statement "ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27];" (assignment_expression "ppuVar5 = (undefined **)pTVar4->_vptr_Target[0x27]" identifier = (cast_expression "(undefined **)pTVar4->_vptr_Target[0x27]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pTVar4->_vptr_Target[0x27]" (field_expression "pTVar4->_vptr_Target" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar5 != local_64 + -0xdbf70) {\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }" if (parenthesized_expression "(ppuVar5 != local_64 + -0xdbf70)" ( (binary_expression "ppuVar5 != local_64 + -0xdbf70" identifier != (binary_expression "local_64 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(uchar **)((int)puVar25 + -8) = puVar1;\n            *(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;\n            *(Target **)((int)puVar25 + -0x10) = pTVar4;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar5)();\n          }" { (expression_statement "*(uchar **)((int)puVar25 + -8) = puVar1;" (assignment_expression "*(uchar **)((int)puVar25 + -8) = puVar1" (pointer_expression "*(uchar **)((int)puVar25 + -8)" * (cast_expression "(uchar **)((int)puVar25 + -8)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2;" (assignment_expression "*(_Hash_node_base **)((int)puVar25 + -0xc) = p_Var2" (pointer_expression "*(_Hash_node_base **)((int)puVar25 + -0xc)" * (cast_expression "(_Hash_node_base **)((int)puVar25 + -0xc)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Target **)((int)puVar25 + -0x10) = pTVar4;" (assignment_expression "*(Target **)((int)puVar25 + -0x10) = pTVar4" (pointer_expression "*(Target **)((int)puVar25 + -0x10)" * (cast_expression "(Target **)((int)puVar25 + -0x10)" ( (type_descriptor "Target **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1eeb38" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*(code *)ppuVar5)();" (call_expression "(*(code *)ppuVar5)()" (parenthesized_expression "(*(code *)ppuVar5)" ( (pointer_expression "*(code *)ppuVar5" * (cast_expression "(code *)ppuVar5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) }))) (expression_statement "pp_Var12 = &local_4c->_M_nxt;" (assignment_expression "pp_Var12 = &local_4c->_M_nxt" identifier = (pointer_expression "&local_4c->_M_nxt" & (field_expression "local_4c->_M_nxt" identifier -> field_identifier))) ;) (expression_statement "local_4c = *pp_Var12;" (assignment_expression "local_4c = *pp_Var12" identifier = (pointer_expression "*pp_Var12" * identifier)) ;) })) (while_statement "while (*pp_Var12 != (_Hash_node_base *)0x0);" while (parenthesized_expression "(*pp_Var12 != (_Hash_node_base *)0x0)" ( (binary_expression "*pp_Var12 != (_Hash_node_base *)0x0" (pointer_expression "*pp_Var12" * identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (expression_statement ";" ;))) })) (expression_statement "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;" (field_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar8 = (this->target_symbols_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->target_symbols_).\n            super__Vector_base<gold" (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 (ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }" if (parenthesized_expression "(ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish)" ( (field_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish" (field_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl" (binary_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "ppSVar8 ==\n      (this->target_symbols_).super__Vector_base<gold" identifier == (binary_expression "(this->target_symbols_).super__Vector_base<gold" (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 "pSVar24 = *ppSVar8;" (assignment_expression "pSVar24 = *ppSVar8" identifier = (pointer_expression "*ppSVar8" * identifier)) ;) (expression_statement "uVar15 = pSVar24->symtab_index_;" (assignment_expression "uVar15 = pSVar24->symtab_index_" identifier = (field_expression "pSVar24->symtab_index_" identifier -> field_identifier)) ;) (if_statement "if (uVar15 != 0) {\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    local_4c = (_Hash_node_base *)(ppSVar8 + 1);\n    do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);\n  }" { (expression_statement "local_4c = (_Hash_node_base *)(ppSVar8 + 1);" (assignment_expression "local_4c = (_Hash_node_base *)(ppSVar8 + 1)" identifier = (cast_expression "(_Hash_node_base *)(ppSVar8 + 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppSVar8 + 1)" ( (binary_expression "ppSVar8 + 1" identifier + number_literal) )))) ;) (do_statement "do {\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    } while (uVar15 != 0);" do (compound_statement "{\n      ppuVar5 = local_64;\n      if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }\n      bVar19 = pSVar24->field_0x2a & 7;\n      if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }\n      if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }\n      ppuVar5 = local_64;\n      if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\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      pSVar24 = (Symbol *)local_4c->_M_nxt;\n      local_4c = local_4c + 1;\n      uVar15 = pSVar24->symtab_index_;\n    }" { (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;) (if_statement "if (local_48 == (uchar *)0x0) {\n        uVar27 = 0xffffffff;\n      }\n      else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\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        uVar27 = 0xffffffff;\n      }" { (expression_statement "uVar27 = 0xffffffff;" (assignment_expression "uVar27 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }" else (compound_statement "{\n        uVar27 = pSVar24->dynsym_index_;\n        if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }\n      }" { (expression_statement "uVar27 = pSVar24->dynsym_index_;" (assignment_expression "uVar27 = pSVar24->dynsym_index_" identifier = (field_expression "pSVar24->dynsym_index_" identifier -> field_identifier)) ;) (if_statement "if (uVar27 == 0) {\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ef00e:\n          ppuVar5 = local_64;\n          *(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x19a;\n          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;\n          do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));\n        }" { (labeled_statement "LAB_001ef00e:\n          ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41b71" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41b71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar5 + -0x11d0d2" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef02c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                              *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "bVar19 = pSVar24->field_0x2a & 7;" (assignment_expression "bVar19 = pSVar24->field_0x2a & 7" identifier = (binary_expression "pSVar24->field_0x2a & 7" (field_expression "pSVar24->field_0x2a" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (bVar19 == 3) {\n        uVar22 = 0xfff1;\n      }\n      else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }" if (parenthesized_expression "(bVar19 == 3)" ( (binary_expression "bVar19 == 3" identifier == number_literal) )) (compound_statement "{\n        uVar22 = 0xfff1;\n      }" { (expression_statement "uVar22 = 0xfff1;" (assignment_expression "uVar22 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }" else (compound_statement "{\n        if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        uVar22 = 0;\n      }" { (if_statement "if (bVar19 != 4) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" if (parenthesized_expression "(bVar19 != 4)" ( (binary_expression "bVar19 != 4" identifier != number_literal) )) (compound_statement "{\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xccb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef095;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" { (expression_statement "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[0xfffffffd] = 0xccb;" (assignment_expression "puVar25[0xfffffffd] = 0xccb" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;" (assignment_expression "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar5 + -0x10763f" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[0xfffffffb] = 0x1ef095;" (assignment_expression "puVar25[0xfffffffb] = 0x1ef095" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" identifier (argument_list "((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" ( (cast_expression "(char *)puVar25[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "uVar22 = 0;" (assignment_expression "uVar22 = 0" identifier = number_literal) ;) }))) (if_statement "if (uVar15 != 0xffffffff) {\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }" if (parenthesized_expression "(uVar15 != 0xffffffff)" ( (binary_expression "uVar15 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        local_50 = uVar22;\n        puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)sympool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee88f;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n        uVar22 = local_50;\n      }" { (if_statement "if (local_6c <= uVar15 - local_70) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" if (parenthesized_expression "(local_6c <= uVar15 - local_70)" ( (binary_expression "local_6c <= uVar15 - local_70" identifier <= (binary_expression "uVar15 - local_70" identifier - identifier)) )) (compound_statement "{\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcd1;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef0b3;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" { (expression_statement "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[0xfffffffd] = 0xcd1;" (assignment_expression "puVar25[0xfffffffd] = 0xcd1" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;" (assignment_expression "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar5 + -0x10763f" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[0xfffffffb] = 0x1ef0b3;" (assignment_expression "puVar25[0xfffffffb] = 0x1ef0b3" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" identifier (argument_list "((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" ( (cast_expression "(char *)puVar25[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "local_50 = uVar22;" (assignment_expression "local_50 = uVar22" identifier = identifier) ;) (expression_statement "puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18);" (assignment_expression "puVar25[0xffffffff] = (uint)(local_7c + (uVar15 - local_70) * 0x18)" (subscript_expression "puVar25[0xffffffff]" identifier [ number_literal ]) = (call_expression "(uint)(local_7c + (uVar15 - local_70) * 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_7c + (uVar15 - local_70) * 0x18)" ( (binary_expression "local_7c + (uVar15 - local_70) * 0x18" identifier + (binary_expression "(uVar15 - local_70) * 0x18" (parenthesized_expression "(uVar15 - local_70)" ( (binary_expression "uVar15 - local_70" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "bVar19 = pSVar24->field_0x28;" (assignment_expression "bVar19 = pSVar24->field_0x28" identifier = (field_expression "pSVar24->field_0x28" identifier -> field_identifier)) ;) (expression_statement "puVar25[0xfffffffe] = (uint)sympool;" (assignment_expression "puVar25[0xfffffffe] = (uint)sympool" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(uint)sympool" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffffd] = (uint)(bVar19 >> 4);" (assignment_expression "puVar25[0xfffffffd] = (uint)(bVar19 >> 4)" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = (call_expression "(uint)(bVar19 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar19 >> 4)" ( (binary_expression "bVar19 >> 4" identifier >> number_literal) )))) ;) (expression_statement "puVar25[0xfffffffc] = uVar22;" (assignment_expression "puVar25[0xfffffffc] = uVar22" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[0xfffffffb] = (uint)pSVar24[1].version_;" (assignment_expression "puVar25[0xfffffffb] = (uint)pSVar24[1].version_" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24[1].version_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar24[1].version_" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar25[0xfffffffa] = (uint)pSVar24[1].name_;" (assignment_expression "puVar25[0xfffffffa] = (uint)pSVar24[1].name_" (subscript_expression "puVar25[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24[1].name_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar24[1].name_" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar25[0xfffffff9] = (uint)pSVar24;" (assignment_expression "puVar25[0xfffffff9] = (uint)pSVar24" (subscript_expression "puVar25[0xfffffff9]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffff8] = (uint)this;" (assignment_expression "puVar25[0xfffffff8] = (uint)this" (subscript_expression "puVar25[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffff7] = 0x1ee88f;" (assignment_expression "puVar25[0xfffffff7] = 0x1ee88f" (subscript_expression "puVar25[0xfffffff7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);" (comma_expression "sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" identifier > (parenthesized_expression "((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" ( (comma_expression "(Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" (cast_expression "(Symbol_table *)puVar25[0xfffffff8]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffff8]" identifier [ number_literal ])) , (parenthesized_expression "(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" ( (comma_expression "Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (binary_expression "Sized_symbol<64> *)puVar25[0xfffffff9]" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)puVar25[0xfffffff9]" * (ERROR ")" )) (subscript_expression "puVar25[0xfffffff9]" identifier [ number_literal ]))) , (comma_expression "*(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (pointer_expression "*(Elf_Addr *)(puVar25 + 0xfffffffa)" * (cast_expression "(Elf_Addr *)(puVar25 + 0xfffffffa)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xfffffffa)" ( (binary_expression "puVar25 + 0xfffffffa" identifier + number_literal) )))) , (comma_expression "puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) , (comma_expression "puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (comma_expression "(Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (cast_expression "(Stringpool *)puVar25[0xfffffffe]" ( (type_descriptor "Stringpool *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) , (cast_expression "(uchar *)puVar25[0xffffffff]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xffffffff]" identifier [ number_literal ]))))))) ))) )))) ;) (expression_statement "uVar22 = local_50;" (assignment_expression "uVar22 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;) (if_statement "if (uVar27 != 0xffffffff) {\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n      }" if (parenthesized_expression "(uVar27 != 0xffffffff)" ( (binary_expression "uVar27 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }\n        puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);\n        bVar19 = pSVar24->field_0x28;\n        puVar25[0xfffffffe] = (uint)dynpool;\n        puVar25[0xfffffffd] = (uint)(bVar19 >> 4);\n        puVar25[0xfffffffc] = uVar22;\n        puVar25[0xfffffffb] = (uint)pSVar24[1].version_;\n        puVar25[0xfffffffa] = (uint)pSVar24[1].name_;\n        puVar25[0xfffffff9] = (uint)pSVar24;\n        puVar25[0xfffffff8] = (uint)this;\n        puVar25[0xfffffff7] = 0x1ee8cc;\n        sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);\n      }" { (if_statement "if (local_74 <= uVar27 - local_78) {\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" if (parenthesized_expression "(local_74 <= uVar27 - local_78)" ( (binary_expression "local_74 <= uVar27 - local_78" identifier <= (binary_expression "uVar27 - local_78" identifier - identifier)) )) (compound_statement "{\n          puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);\n          puVar25[0xfffffffd] = 0xcdb;\n          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar25[0xfffffffb] = 0x1ef128;\n          do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);\n        }" { (expression_statement "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf);" (assignment_expression "puVar25[0xfffffffe] = (uint)(local_64 + -0x41bcf)" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_64 + -0x41bcf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + -0x41bcf)" ( (binary_expression "local_64 + -0x41bcf" identifier + number_literal) )))) ;) (expression_statement "puVar25[0xfffffffd] = 0xcdb;" (assignment_expression "puVar25[0xfffffffd] = 0xcdb" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;" (assignment_expression "puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar5 + -0x10763f" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar25[0xfffffffb] = 0x1ef128;" (assignment_expression "puVar25[0xfffffffb] = 0x1ef128" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" identifier (argument_list "((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],\n                              (char *)puVar25[0xfffffffe])" ( (cast_expression "(char *)puVar25[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar25[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18);" (assignment_expression "puVar25[0xffffffff] = (uint)(local_48 + (uVar27 - local_78) * 0x18)" (subscript_expression "puVar25[0xffffffff]" identifier [ number_literal ]) = (call_expression "(uint)(local_48 + (uVar27 - local_78) * 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_48 + (uVar27 - local_78) * 0x18)" ( (binary_expression "local_48 + (uVar27 - local_78) * 0x18" identifier + (binary_expression "(uVar27 - local_78) * 0x18" (parenthesized_expression "(uVar27 - local_78)" ( (binary_expression "uVar27 - local_78" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "bVar19 = pSVar24->field_0x28;" (assignment_expression "bVar19 = pSVar24->field_0x28" identifier = (field_expression "pSVar24->field_0x28" identifier -> field_identifier)) ;) (expression_statement "puVar25[0xfffffffe] = (uint)dynpool;" (assignment_expression "puVar25[0xfffffffe] = (uint)dynpool" (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ]) = (cast_expression "(uint)dynpool" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffffd] = (uint)(bVar19 >> 4);" (assignment_expression "puVar25[0xfffffffd] = (uint)(bVar19 >> 4)" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) = (call_expression "(uint)(bVar19 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar19 >> 4)" ( (binary_expression "bVar19 >> 4" identifier >> number_literal) )))) ;) (expression_statement "puVar25[0xfffffffc] = uVar22;" (assignment_expression "puVar25[0xfffffffc] = uVar22" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar25[0xfffffffb] = (uint)pSVar24[1].version_;" (assignment_expression "puVar25[0xfffffffb] = (uint)pSVar24[1].version_" (subscript_expression "puVar25[0xfffffffb]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24[1].version_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar24[1].version_" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar25[0xfffffffa] = (uint)pSVar24[1].name_;" (assignment_expression "puVar25[0xfffffffa] = (uint)pSVar24[1].name_" (subscript_expression "puVar25[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24[1].name_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar24[1].name_" (subscript_expression "pSVar24[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar25[0xfffffff9] = (uint)pSVar24;" (assignment_expression "puVar25[0xfffffff9] = (uint)pSVar24" (subscript_expression "puVar25[0xfffffff9]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffff8] = (uint)this;" (assignment_expression "puVar25[0xfffffff8] = (uint)this" (subscript_expression "puVar25[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar25[0xfffffff7] = 0x1ee8cc;" (assignment_expression "puVar25[0xfffffff7] = 0x1ee8cc" (subscript_expression "puVar25[0xfffffff7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]);" (comma_expression "sized_write_symbol<64,_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" (binary_expression "sized_write_symbol<64" identifier < number_literal) , (binary_expression "_false>\n                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" identifier > (parenthesized_expression "((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" ( (comma_expression "(Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" (cast_expression "(Symbol_table *)puVar25[0xfffffff8]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffff8]" identifier [ number_literal ])) , (parenthesized_expression "(Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff])" ( (comma_expression "Sized_symbol<64> *)puVar25[0xfffffff9],\n                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (binary_expression "Sized_symbol<64> *)puVar25[0xfffffff9]" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)puVar25[0xfffffff9]" * (ERROR ")" )) (subscript_expression "puVar25[0xfffffff9]" identifier [ number_literal ]))) , (comma_expression "*(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (pointer_expression "*(Elf_Addr *)(puVar25 + 0xfffffffa)" * (cast_expression "(Elf_Addr *)(puVar25 + 0xfffffffa)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0xfffffffa)" ( (binary_expression "puVar25 + 0xfffffffa" identifier + number_literal) )))) , (comma_expression "puVar25[0xfffffffc],puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (subscript_expression "puVar25[0xfffffffc]" identifier [ number_literal ]) , (comma_expression "puVar25[0xfffffffd],\n                   (Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (subscript_expression "puVar25[0xfffffffd]" identifier [ number_literal ]) , (comma_expression "(Stringpool *)puVar25[0xfffffffe],(uchar *)puVar25[0xffffffff]" (cast_expression "(Stringpool *)puVar25[0xfffffffe]" ( (type_descriptor "Stringpool *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xfffffffe]" identifier [ number_literal ])) , (cast_expression "(uchar *)puVar25[0xffffffff]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar25[0xffffffff]" 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 "pSVar24 = (Symbol *)local_4c->_M_nxt;" (assignment_expression "pSVar24 = (Symbol *)local_4c->_M_nxt" identifier = (cast_expression "(Symbol *)local_4c->_M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_4c->_M_nxt" identifier -> field_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 "uVar15 = pSVar24->symtab_index_;" (assignment_expression "uVar15 = pSVar24->symtab_index_" identifier = (field_expression "pSVar24->symtab_index_" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_001eeff0:\n  ppuVar5 = local_64;" statement_identifier : (expression_statement "ppuVar5 = local_64;" (assignment_expression "ppuVar5 = local_64" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb;" (assignment_expression "*(undefined ***)((int)puVar25 + -8) = local_64 + -0x41bbb" (pointer_expression "*(undefined ***)((int)puVar25 + -8)" * (cast_expression "(undefined ***)((int)puVar25 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_64 + -0x41bbb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar5 + -0x11d0d2" (cast_expression "(int)ppuVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ef00e" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8))" identifier (argument_list "(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),\n                      *(char **)((int)puVar25 + -8))" ( (pointer_expression "*(char **)((int)puVar25 + -0x10)" * (cast_expression "(char **)((int)puVar25 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) })))
(translation_unit "void FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    \n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\n}\n\n" (function_definition "void FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    \n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\n}" primitive_type (function_declarator "FUN_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    \n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\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_004144e8;" (assignment_expression "local_68 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "local_90 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_004144e8 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_004144e8 + 0xc)" * (cast_expression "(int **)(DAT_004144e8 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (if_statement "if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_001ef0b3:\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 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a94" (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 + -0x41a94" 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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce" (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_001ef0ce" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef186;\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_001ef186;\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_001ef186;\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_001ef186;" 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_001ef186;" 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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_001ef186:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" statement_identifier : (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cc7c)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_0030cc7c" (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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ef05c;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;" 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_001ef0b3;" 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 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf94)" ( (binary_expression "ppuVar11 != local_64 + -0xdbf94" identifier != (binary_expression "local_64 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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) = 0x1eeeb3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3" (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_001ee640;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ee640;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;" 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_001eeec8;" 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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb3" (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 + -0x41bb3" 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 "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464" (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 + -0x47464" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b" (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_001ef21b" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee46" (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_000d1730();" (call_expression "FUN_000d1730()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" identifier = identifier) ;) })) })) })) })) (labeled_statement "LAB_001ee640:\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_001eeff0;" 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_001eeff0;" 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_001ef00e;\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_001ef00e;\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_001ef00e;\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_001ef00e;" 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_001ef00e;" 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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ef05c;" 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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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[-0x41cd2]))();\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[-0x41cd2]))();\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[-0x41cd2]))();\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[-0x41cd2]))();\n              return;\n            }" { (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd2])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd2])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd2])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd2]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd2]" 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[-0x41cd8]))();\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[-0x41cd8]))();\n            return;\n          }" { (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))" ( (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd8])" * (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd8])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd8])" ( (binary_expression "(int)local_64 + (int)local_64[-0x41cd8]" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_64[-0x41cd8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_64[-0x41cd8]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar14) goto LAB_001ef02c;" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (goto_statement "goto LAB_001ef02c;" goto statement_identifier ;)) (switch_statement "switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" switch (parenthesized_expression "(local_64[uVar8 - 0x41cd7] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x41cd7] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41cd7]" identifier [ (binary_expression "uVar8 - 0x41cd7" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" { (case_statement "case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" case (cast_expression "(undefined *)0x1eeaf0" ( (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 *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1eeb10" ( (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 *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;" case (cast_expression "(undefined *)0x1eed20" ( (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_r0x001ee9c3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;" case (cast_expression "(undefined *)0x1eed30" ( (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_r0x001ee933;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();" case (cast_expression "(undefined *)0x1ef128" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e" (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 + -0x41a8e" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146" (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_001ef146" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_001ee768;" 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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" if (parenthesized_expression "(4 < bVar14)" ( (binary_expression "4 < bVar14" number_literal < identifier) )) (compound_statement "{\nLAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a" (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_001ef04a" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 - 0x41ce6] + (int)local_64)" ( (binary_expression "local_64[uVar8 - 0x41ce6] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41ce6]" identifier [ (binary_expression "uVar8 - 0x41ce6" identifier - number_literal) ]) + (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee6f0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar13 & 7) != 0) goto code_r0x001ef128;" 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_r0x001ef128;" 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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eed62" (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_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1eedd0" (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_001e7db0();" (call_expression "FUN_001e7db0()" 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 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21" (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 + -0x41d21" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea" (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) = 0x1eee01;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee01" (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_000d1330();" (call_expression "FUN_000d1330()" 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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee1e" (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_00248220();" (call_expression "FUN_00248220()" 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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\n            }" { (labeled_statement "LAB_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96" (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 + -0x41a96" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6" (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_001eeee6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb52;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb52" (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_001ee990;" 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_001ee990;" 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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb91" (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_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" 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_001eeb9f;" if (parenthesized_expression "(cVar6 == '\0')" ( (binary_expression "cVar6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001eeb9f;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\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 + -0xdb9ec;" (assignment_expression "ppuStack_88 = local_64 + -0xdb9ec" identifier = (binary_expression "local_64 + -0xdb9ec" 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_001ef1e6;\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) = 0x1eefa1;\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_001ef1e6;\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_001ef1e6;" 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_001ef1e6;" 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) = 0x1eefa1;\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) = 0x1eefa1;\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) = 0x1eefa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eefa1" (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) = 0x1eebe4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eebe4" (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_001e6ec0();" (assignment_expression "cVar6 = FUN_001e6ec0()" identifier = (call_expression "FUN_001e6ec0()" 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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef13" (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_000dd700();" (call_expression "FUN_000dd700()" 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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162" (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_001ef162" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "(ppuVar11 <= ppuStack_40)" ( (binary_expression "ppuVar11 <= ppuStack_40" identifier <= identifier) )) (compound_statement "{\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" { (labeled_statement "LAB_001ef1e6:\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 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9" (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 + -0x41aa9" 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 "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e" (pointer_expression "*(undefined ***)(puVar16 + -0x10)" * (cast_expression "(undefined ***)(puVar16 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar5 + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ef051;\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) = 0x1ef051;\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) = 0x1ef051;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1ef051" (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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75" (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_001eef75" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xcba68)" ( (binary_expression "ppuVar11 == local_64 + -0xcba68" identifier == (binary_expression "local_64 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ef21b:\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 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7" (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 + -0x41bb7" 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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239" (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_001ef239" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" else (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eef8c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef8c" (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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec4d" (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_000efc40();" (call_expression "FUN_000efc40()" 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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec78" (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_000efc40();" (call_expression "FUN_000efc40()" 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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_001ef05c:\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 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a86" (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 + -0x41a86" 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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077" (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_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ef168:\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 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f" (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 + -0x41b7f" 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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ee745" (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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;" case (cast_expression "(undefined *)0x1ee930" ( (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_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar14 != 2)" ( (binary_expression "bVar14 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b" (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 + -0x41b8b" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce" (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_001eefce" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ee94a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee94a" (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_001ee94a" & identifier)) ;) (expression_statement "piVar9 = (int *)FUN_0015f960();" (assignment_expression "piVar9 = (int *)FUN_0015f960()" identifier = (cast_expression "(int *)FUN_0015f960()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015f960()" 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_r0x001ee9a8;" 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_r0x001ee9a8;" 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 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 == local_64 + -0xcba68)" ( (binary_expression "ppuVar11 == local_64 + -0xcba68" identifier == (binary_expression "local_64 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\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_001ef21b;" 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_001ef21b;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\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_001eed8e;\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_001eed8e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eed8e" (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_001eed8e" & 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 *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1ee990" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001ee990:\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 *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" case (cast_expression "(undefined *)0x1ee9a8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ee9a8:\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 *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee9c0" ( (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_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar14 != 1)" ( (binary_expression "bVar14 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d" (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 + -0x41b7d" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee" (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_001eefee" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ee9d8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8" (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_001ee9d8" & 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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea03" (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_001eea03" & 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_000efc40();" (call_expression "FUN_000efc40()" 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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea2e" (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_001eea2e" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" 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_001ef05c;" 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_001ef05c;" 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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea5e" (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_001eea5e" & 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 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6" (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_001ef1e6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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_001ef168;" 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_001ef168;" 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_001ee768:\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\n          uVar4 = uStack_84;\n        }" { (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee7a1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7a1" (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_001ec740();" (call_expression "FUN_001ec740()" 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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec" (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_001ef0ec" & identifier)) ;) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" identifier = identifier) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee7de;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7de" (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_001ec740();" (call_expression "FUN_001ec740()" 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_001ef0b3;" 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_001ef0b3;" 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 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" if (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf70)" ( (binary_expression "ppuVar11 != local_64 + -0xdbf70" identifier != (binary_expression "local_64 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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) = 0x1eeb38;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb38" (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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }\n      }" else (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ef00e:\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 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b71" (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 + -0x41b71" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c" (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_000da200();" (call_expression "FUN_000da200()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" else (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" { (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" if (parenthesized_expression "(bVar13 != 4)" ( (binary_expression "bVar13 != 4" identifier != number_literal) )) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095" (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_000da200();" (call_expression "FUN_000da200()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\n        uVar8 = local_50;\n      }" { (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3" (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_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee88f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee88f" (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_001ec740();" (call_expression "FUN_001ec740()" 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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\n        uVar4 = uStack_84;\n      }" { (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\n        }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" 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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128" (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_001ef128" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" 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) = 0x1ee8cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee8cc" (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_001ec740();" (call_expression "FUN_001ec740()" 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_001eeff0:\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 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb" (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 + -0x41bbb" 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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e" (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_000da200();" (call_expression "FUN_000da200()" 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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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_001ee510(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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    \n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\n}" (primitive_type "void") (function_declarator "FUN_001ee510(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" (identifier "FUN_001ee510") (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_004144e8;\n  local_90 = *(int **)(DAT_004144e8 + 0xc);\n  uStack_84 = uVar4;\n  if (local_90 == (int *)0x0) {\nLAB_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef186;\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_001ef186:\n                    \n      FUN_000da200("../../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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001eeff0:\n  ppuVar11 = local_64;\n  uStack_84 = uVar4;\n  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;\n  *(undefined4 *)(puVar17 + -0xc) = 0x180;\n  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;\n  FUN_000da200();\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_004144e8;" (assignment_expression "local_68 = &DAT_004144e8" (identifier "local_68") (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";")) (expression_statement "local_90 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_90 = *(int **)(DAT_004144e8 + 0xc)" (identifier "local_90") (= "=") (pointer_expression "*(int **)(DAT_004144e8 + 0xc)" (* "*") (cast_expression "(int **)(DAT_004144e8 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_004144e8 + 0xc)" (( "(") (binary_expression "DAT_004144e8 + 0xc" (identifier "DAT_004144e8") (+ "+") (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_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\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_001ef0b3:\n    ppuVar11 = local_64;\n    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;\n    *(undefined4 *)(puVar17 + -0xc) = 0x69;\n    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;\n    FUN_000da200();\n  }" ({ "{") (labeled_statement "LAB_001ef0b3:\n    ppuVar11 = local_64;" (statement_identifier "LAB_001ef0b3") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a94" (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 + -0x41a94" (identifier "local_64") (+ "+") (number_literal "-0x41a94"))) (; ";")) (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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce" (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_001ef0ce" (& "&") (identifier "LAB_001ef0ce"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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_001ef186;\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_001ef186;\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_001ef186;\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_001ef186;" (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_001ef186;" (goto "goto") (statement_identifier "LAB_001ef186") (; ";"))) (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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../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_001ef186:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" ({ "{") (labeled_statement "LAB_001ef186:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (statement_identifier "LAB_001ef186") (: ":") (expression_statement "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (call_expression "FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX)" (identifier "FUN_000da200") (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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_0030cc7c);" (assignment_expression "local_8c = (code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" (identifier "local_8c") (= "=") (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cc7c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cc7c)" (( "(") (binary_expression "(int)&__DT_PLTGOT + DAT_0030cc7c" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (identifier "DAT_0030cc7c")) () ")")))) (; ";")) (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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\n              uVar4 = uStack_84;\n            }\n          }\n        }\n      }\nLAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);\n      pcVar1 = *(code **)(iVar15 + 0x10);\n      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;\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_001ef00e;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;\n        if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef05c;" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ef05c;" (goto "goto") (statement_identifier "LAB_001ef05c") (; ";"))) (if_statement "if (*(char *)(iVar18 + 0x1fd) == '\0') {\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);\n          if (ppuVar11 != local_64 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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_001ef0b3;" (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_001ef0b3;" (goto "goto") (statement_identifier "LAB_001ef0b3") (; ";"))) (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 + -0xdbf94) {\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\n            iVar10 = *(int *)(iVar15 + 8);\n          }" (if "if") (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf94)" (( "(") (binary_expression "ppuVar11 != local_64 + -0xdbf94" (identifier "ppuVar11") (!= "!=") (binary_expression "local_64 + -0xdbf94" (identifier "local_64") (+ "+") (number_literal "-0xdbf94"))) () ")")) (compound_statement "{\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;\n            cVar6 = (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n            if (cVar6 != '\0') goto LAB_001ee640;\n            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;\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) = 0x1eeeb3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3" (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 "0x1eeeb3")) (; ";")) (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_001ee640;" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001ee640;" (goto "goto") (statement_identifier "LAB_001ee640") (; ";"))) (if_statement "if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;" (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_001eeec8;" (goto "goto") (statement_identifier "LAB_001eeec8") (; ";"))) (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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;\n              *(undefined4 *)(puVar17 + -0xc) = 0x3e;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;\n              FUN_000da200();\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 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb3" (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 + -0x41bb3" (identifier "local_64") (+ "+") (number_literal "-0x41bb3"))) (; ";")) (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 "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464" (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 + -0x47464" (identifier "local_64") (+ "+") (number_literal "-0x47464"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b" (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_001ef21b" (& "&") (identifier "LAB_001ef21b"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar10 + 0x5c) != 1) {\n              *(int *)(puVar17 + -0x10) = iVar15;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;\n              FUN_000d1730();\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) = 0x1eee46;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee46" (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 "0x1eee46")) (; ";")) (expression_statement "FUN_000d1730();" (call_expression "FUN_000d1730()" (identifier "FUN_000d1730") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = uStack_84;" (assignment_expression "uVar4 = uStack_84" (identifier "uVar4") (= "=") (identifier "uStack_84")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_001ee640:\n      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);" (statement_identifier "LAB_001ee640") (: ":") (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_001eeff0;" (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_001eeff0;" (goto "goto") (statement_identifier "LAB_001eeff0") (; ";"))) (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_001ef00e;\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_001ef00e;\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_001ef00e;\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_001ef00e;" (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_001ef00e;" (goto "goto") (statement_identifier "LAB_001ef00e") (; ";"))) (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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }\n        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001ee768:\n        uStack_84 = uVar20;\n        if (pcVar1 != (code *)0xffffffff) {\n          if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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_001ef05c;" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ef05c;" (goto "goto") (statement_identifier "LAB_001ef05c") (; ";"))) (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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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[-0x41cd2]))();\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[-0x41cd8]))();\n            return;\n          }\n          if (4 < bVar14) goto LAB_001ef02c;\n          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }\n          goto LAB_001ee768;\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[-0x41cd2]))();\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[-0x41cd2]))();\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[-0x41cd2]))();\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[-0x41cd2]))();\n              return;\n            }" ({ "{") (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd2]))" (( "(") (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd2])" (* "*") (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd2])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd2])" (( "(") (binary_expression "(int)local_64 + (int)local_64[-0x41cd2]" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (cast_expression "(int)local_64[-0x41cd2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[-0x41cd2]" (identifier "local_64") ([ "[") (number_literal "-0x41cd2") (] "]")))) () ")")))) () ")")) (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[-0x41cd8]))();\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[-0x41cd8]))();\n            return;\n          }" ({ "{") (expression_statement "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();" (call_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))()" (parenthesized_expression "(*(code *)((int)local_64 + (int)local_64[-0x41cd8]))" (( "(") (pointer_expression "*(code *)((int)local_64 + (int)local_64[-0x41cd8])" (* "*") (cast_expression "(code *)((int)local_64 + (int)local_64[-0x41cd8])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_64 + (int)local_64[-0x41cd8])" (( "(") (binary_expression "(int)local_64 + (int)local_64[-0x41cd8]" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (cast_expression "(int)local_64[-0x41cd8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_64[-0x41cd8]" (identifier "local_64") ([ "[") (number_literal "-0x41cd8") (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (4 < bVar14) goto LAB_001ef02c;" (if "if") (parenthesized_expression "(4 < bVar14)" (( "(") (binary_expression "4 < bVar14" (number_literal "4") (< "<") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_001ef02c;" (goto "goto") (statement_identifier "LAB_001ef02c") (; ";"))) (switch_statement "switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" (switch "switch") (parenthesized_expression "(local_64[uVar8 - 0x41cd7] + (int)local_64)" (( "(") (binary_expression "local_64[uVar8 - 0x41cd7] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41cd7]" (identifier "local_64") ([ "[") (binary_expression "uVar8 - 0x41cd7" (identifier "uVar8") (- "-") (number_literal "0x41cd7")) (] "]")) (+ "+") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")) (compound_statement "{\n          case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;\n          case (undefined *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;\n          case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;\n          case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();\n          }" ({ "{") (case_statement "case (undefined *)0x1eeaf0:\n            local_50 = 1;\n            local_54 = (undefined **)0x0;\n            uVar20 = *(undefined8 *)piVar9;\n            break;" (case "case") (cast_expression "(undefined *)0x1eeaf0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1eeaf0")) (: ":") (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 *)0x1eeb10:\n            local_50 = 1;\n            local_54 = (undefined **)0xfff1;\n            break;" (case "case") (cast_expression "(undefined *)0x1eeb10" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1eeb10")) (: ":") (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 *)0x1eed20:\n            local_50 = 1;\n            goto code_r0x001ee9c3;" (case "case") (cast_expression "(undefined *)0x1eed20" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1eed20")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x001ee9c3;" (goto "goto") (statement_identifier "code_r0x001ee9c3") (; ";"))) (case_statement "case (undefined *)0x1eed30:\n            local_50 = 1;\n            goto code_r0x001ee933;" (case "case") (cast_expression "(undefined *)0x1eed30" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1eed30")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x001ee933;" (goto "goto") (statement_identifier "code_r0x001ee933") (; ";"))) (case_statement "case (undefined *)0x1ef128:\ncode_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;\n            *(undefined4 *)(puVar17 + -0xc) = 0xaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;\n            FUN_000da200();" (case "case") (cast_expression "(undefined *)0x1ef128" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ef128")) (: ":") (labeled_statement "code_r0x001ef128:\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" (statement_identifier "code_r0x001ef128") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e" (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 + -0x41a8e" (identifier "local_64") (+ "+") (number_literal "-0x41a8e"))) (; ";"))) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146" (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_001ef146" (& "&") (identifier "LAB_001ef146"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_001ee768;" (goto "goto") (statement_identifier "LAB_001ee768") (; ";")) (} "}"))) (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_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(4 < bVar14)" (( "(") (binary_expression "4 < bVar14" (number_literal "4") (< "<") (identifier "bVar14")) () ")")) (compound_statement "{\nLAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;\n          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;\n          FUN_000da200();\n        }" ({ "{") (labeled_statement "LAB_001ef02c:\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (statement_identifier "LAB_001ef02c") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";"))) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a" (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_001ef04a" (& "&") (identifier "LAB_001ef04a"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (switch_statement "switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 - 0x41ce6] + (int)local_64)" (( "(") (binary_expression "local_64[uVar8 - 0x41ce6] + (int)local_64" (subscript_expression "local_64[uVar8 - 0x41ce6]" (identifier "local_64") ([ "[") (binary_expression "uVar8 - 0x41ce6" (identifier "uVar8") (- "-") (number_literal "0x41ce6")) (] "]")) (+ "+") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")) (compound_statement "{\n        case (undefined *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\n            local_54 = (undefined **)(*(code *)ppuVar11)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            uVar4 = uStack_84;\n          }\n          break;\n        case (undefined *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;\n        case (undefined *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee6f0:\n          if ((bVar13 & 7) != 0) goto code_r0x001ef128;\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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 *)0x1ee6f0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ee6f0")) (: ":") (if_statement "if ((bVar13 & 7) != 0) goto code_r0x001ef128;" (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_r0x001ef128;" (goto "goto") (statement_identifier "code_r0x001ef128") (; ";"))) (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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;\n            cVar6 = FUN_001e6ac0();\n            if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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) = 0x1eed62;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eed62" (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 "0x1eed62")) (; ";")) (expression_statement "cVar6 = FUN_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" (identifier "cVar6") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 == '\0') {\n              ppuStack_88 = (undefined **)uStack_84;\n              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;\n              FUN_001e7db0();\n              uStack_84._0_4_ = (undefined **)pcStack_34;\n              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;\n              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;\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) = 0x1eee01;\n              FUN_000d1330();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eedd0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1eedd0" (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 "0x1eedd0")) (; ";")) (expression_statement "FUN_001e7db0();" (call_expression "FUN_001e7db0()" (identifier "FUN_001e7db0") (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 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21" (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 + -0x41d21" (identifier "local_64") (+ "+") (number_literal "-0x41d21"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eedea" (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 "0x1eedea")) (; ";")) (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) = 0x1eee01;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee01" (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 "0x1eee01")) (; ";")) (expression_statement "FUN_000d1330();" (call_expression "FUN_000d1330()" (identifier "FUN_000d1330") (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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;\n                FUN_00248220();\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) = 0x1eee1e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eee1e" (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 "0x1eee1e")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\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_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;\n              *(undefined4 *)(puVar17 + -0xc) = 0xa1;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;\n              FUN_000da200();\n            }" ({ "{") (labeled_statement "LAB_001eeec8:\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" (statement_identifier "LAB_001eeec8") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a96" (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 + -0x41a96" (identifier "local_64") (+ "+") (number_literal "-0x41a96"))) (; ";"))) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eeee6" (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_001eeee6" (& "&") (identifier "UNK_001eeee6"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1ee745;\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) = 0x1eeb52;\n            iVar10 = (*pcVar7)();\n            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb52;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb52" (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 "0x1eeb52")) (; ";")) (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_001ee990;" (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_001ee990;" (goto "goto") (statement_identifier "LAB_001ee990") (; ";"))) (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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\n              }\n            }\n            else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;\n                cVar6 = FUN_001e6ac0();\n                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);\n                uVar20 = CONCAT44(local_58,local_5c);\n                if (cVar6 == '\0') goto LAB_001eeb9f;\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) = 0x1eeb91;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb91" (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 "0x1eeb91")) (; ";")) (expression_statement "cVar6 = FUN_001e6ac0();" (assignment_expression "cVar6 = FUN_001e6ac0()" (identifier "cVar6") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (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_001eeb9f;" (if "if") (parenthesized_expression "(cVar6 == '\0')" (( "(") (binary_expression "cVar6 == '\0'" (identifier "cVar6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001eeb9f;" (goto "goto") (statement_identifier "LAB_001eeb9f") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);\n              ppuStack_88 = local_64 + -0xdb9ec;\n              if (ppuVar11 == ppuStack_88) {\n                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);\n                puVar16 = puVar17;\n                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;\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) = 0x1eefa1;\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) = 0x1eebe4;\n              cVar6 = FUN_001e6ec0();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\n                }\n              }\n              puVar17 = puVar16;\n              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);\n              if (ppuVar11 == local_64 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }\n              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001eeb9f:\n              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);" (statement_identifier "LAB_001eeb9f") (: ":") (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 + -0xdb9ec;" (assignment_expression "ppuStack_88 = local_64 + -0xdb9ec" (identifier "ppuStack_88") (= "=") (binary_expression "local_64 + -0xdb9ec" (identifier "local_64") (+ "+") (number_literal "-0xdb9ec"))) (; ";")) (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_001ef1e6;\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) = 0x1eefa1;\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_001ef1e6;\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_001ef1e6;" (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_001ef1e6;" (goto "goto") (statement_identifier "LAB_001ef1e6") (; ";"))) (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) = 0x1eefa1;\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) = 0x1eefa1;\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) = 0x1eefa1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eefa1" (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 "0x1eefa1")) (; ";")) (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) = 0x1eebe4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eebe4" (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 "0x1eebe4")) (; ";")) (expression_statement "cVar6 = FUN_001e6ec0();" (assignment_expression "cVar6 = FUN_001e6ec0()" (identifier "cVar6") (= "=") (call_expression "FUN_001e6ec0()" (identifier "FUN_001e6ec0") (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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;\n                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb" (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 "0x1ef1bb")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;\n                FUN_000dd700();\n                puVar16 = puVar17 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(undefined4 *)(puVar17 + -8) = 0;\n                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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) = 0x1eef13;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef13" (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 "0x1eef13")) (; ";")) (expression_statement "FUN_000dd700();" (call_expression "FUN_000dd700()" (identifier "FUN_000dd700") (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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001ef162" (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_001ef162" (& "&") (identifier "UNK_001ef162"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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) = 0x1ef051;\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\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_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" (if "if") (parenthesized_expression "(ppuVar11 <= ppuStack_40)" (( "(") (binary_expression "ppuVar11 <= ppuStack_40" (identifier "ppuVar11") (<= "<=") (identifier "ppuStack_40")) () ")")) (compound_statement "{\nLAB_001ef1e6:\n                    ppuVar5 = local_64;\n                    *(undefined ***)(puVar16 + -4) = ppuVar11;\n                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;\n                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;\n                    FUN_000da200();\n                  }" ({ "{") (labeled_statement "LAB_001ef1e6:\n                    ppuVar5 = local_64;" (statement_identifier "LAB_001ef1e6") (: ":") (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 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9" (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 + -0x41aa9" (identifier "ppuVar5") (+ "+") (number_literal "-0x41aa9"))) (; ";")) (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 "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e" (pointer_expression "*(undefined ***)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar5 + -0x4746e" (identifier "ppuVar5") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ef202" (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 "0x1ef202")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ef051;\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) = 0x1ef051;\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) = 0x1ef051;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1ef051" (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 "0x1ef051")) (; ";")) (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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;\n                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;\n                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;\n                    \n                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;\n                  FUN_000da200();\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 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75;" (assignment_expression "*(undefined **)(puVar17 + -0x18) = &UNK_001eef75" (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_001eef75" (& "&") (identifier "UNK_001eef75"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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 + -0xcba68) {\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" (if "if") (parenthesized_expression "(ppuVar11 == local_64 + -0xcba68)" (( "(") (binary_expression "ppuVar11 == local_64 + -0xcba68" (identifier "ppuVar11") (== "==") (binary_expression "local_64 + -0xcba68" (identifier "local_64") (+ "+") (number_literal "-0xcba68"))) () ")")) (compound_statement "{\n                local_54 = (undefined **)((undefined **)uStack_84)[0x18];\n                if (local_54 == (undefined **)0xffffffff) {\nLAB_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\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_001ef21b:\n                  ppuVar11 = local_64;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;\n                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;\n                  FUN_000da200();\n                }" ({ "{") (labeled_statement "LAB_001ef21b:\n                  ppuVar11 = local_64;" (statement_identifier "LAB_001ef21b") (: ":") (expression_statement "ppuVar11 = local_64;" (assignment_expression "ppuVar11 = local_64" (identifier "ppuVar11") (= "=") (identifier "local_64")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7" (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 + -0x41bb7" (identifier "local_64") (+ "+") (number_literal "-0x41bb7"))) (; ";")) (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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" (identifier "ppuVar11") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239" (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_001ef239" (& "&") (identifier "LAB_001ef239"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\n                local_54 = (undefined **)(*(code *)ppuVar11)();\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;\n                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;\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) = 0x1eef8c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eef8c" (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 "0x1eef8c")) (; ";")) (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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;\n                  pcStack_34 = pcVar1;\n                  FUN_000efc40();\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) = 0x1eec4d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec4d" (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 "0x1eec4d")) (; ";")) (expression_statement "pcStack_34 = pcVar1;" (assignment_expression "pcStack_34 = pcVar1" (identifier "pcStack_34") (= "=") (identifier "pcVar1")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;\n                  FUN_000efc40();\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) = 0x1eec78;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eec78" (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 "0x1eec78")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\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_001ef05c:\n                ppuVar11 = local_64;\n                uStack_84 = uVar4;\n                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;\n                *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;\n                    \n                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;\n                FUN_000da200();\n              }" ({ "{") (labeled_statement "LAB_001ef05c:\n                ppuVar11 = local_64;" (statement_identifier "LAB_001ef05c") (: ":") (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 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41a86" (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 + -0x41a86" (identifier "local_64") (+ "+") (number_literal "-0x41a86"))) (; ";")) (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 + -0x131d93;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93" (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 + -0x131d93" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef077" (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 "0x1ef077")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {\n                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {\nLAB_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\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_001ef168:\n                  ppuVar11 = local_64;\n                  uStack_84 = uVar4;\n                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;\n                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;\n                    \n                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;\n                  FUN_000da200();\n                }" ({ "{") (labeled_statement "LAB_001ef168:\n                  ppuVar11 = local_64;" (statement_identifier "LAB_001ef168") (: ":") (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 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f" (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 + -0x41b7f" (identifier "local_64") (+ "+") (number_literal "-0x41b7f"))) (; ";")) (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 "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469" (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 "ppuVar11 + -0x47469" (identifier "ppuVar11") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef186" (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 "0x1ef186")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;\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) = 0x1ee745;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ee745" (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 "0x1ee745")) (; ";")) (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 *)0x1ee930:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;\n          piVar9 = (int *)FUN_0015f960();\n          uVar20 = CONCAT44(local_58,local_5c);\n          uVar4 = uStack_84;\n          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);\n          if (ppuVar11 == local_64 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\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 *)0x1ee930" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ee930")) (: ":") (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" (identifier "bVar14") (= "=") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x001ee933:\n          if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" (statement_identifier "code_r0x001ee933") (: ":") (if_statement "if (bVar14 != 2) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(bVar14 != 2)" (( "(") (binary_expression "bVar14 != 2" (identifier "bVar14") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;\n            *(undefined4 *)(puVar17 + -0xc) = 200;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b" (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 + -0x41b8b" (identifier "local_64") (+ "+") (number_literal "-0x41b8b"))) (; ";")) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefce" (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_001eefce" (& "&") (identifier "UNK_001eefce"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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_001ee94a;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee94a" (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_001ee94a" (& "&") (identifier "UNK_001ee94a"))) (; ";")) (expression_statement "piVar9 = (int *)FUN_0015f960();" (assignment_expression "piVar9 = (int *)FUN_0015f960()" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_0015f960()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0015f960()" (identifier "FUN_0015f960") (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_r0x001ee9a8;" (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_r0x001ee9a8;" (goto "goto") (statement_identifier "code_r0x001ee9a8") (; ";"))) (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 + -0xcba68) {\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\n          }\n          else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\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 + -0xcba68)" (( "(") (binary_expression "ppuVar11 == local_64 + -0xcba68" (identifier "ppuVar11") (== "==") (binary_expression "local_64 + -0xcba68" (identifier "local_64") (+ "+") (number_literal "-0xcba68"))) () ")")) (compound_statement "{\n            local_54 = (undefined **)piVar9[0x18];\n            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;\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_001ef21b;" (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_001ef21b;" (goto "goto") (statement_identifier "LAB_001ef21b") (; ";"))) (} "}")) (else_clause "else {\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;\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_001eed8e;\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_001eed8e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eed8e" (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_001eed8e" (& "&") (identifier "UNK_001eed8e"))) (; ";")) (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 *)0x1ee990:\nLAB_001ee990:\n          local_54 = (undefined **)0x0;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" (case "case") (cast_expression "(undefined *)0x1ee990" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ee990")) (: ":") (labeled_statement "LAB_001ee990:\n          local_54 = (undefined **)0x0;" (statement_identifier "LAB_001ee990") (: ":") (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 *)0x1ee9a8:\ncode_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;\n          uVar20 = CONCAT44(local_58,local_5c);\n          break;" (case "case") (cast_expression "(undefined *)0x1ee9a8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ee9a8")) (: ":") (labeled_statement "code_r0x001ee9a8:\n          local_54 = (undefined **)0xfff1;" (statement_identifier "code_r0x001ee9a8") (: ":") (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 *)0x1ee9c0:\n          bVar14 = bVar13 & 7;\ncode_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }\n          piVar9 = *(int **)(iVar15 + 8);\n          iVar10 = *piVar9;\n          *(int **)(puVar17 + -0x10) = piVar9;\n          pcVar7 = *(code **)(iVar10 + 0x2c);\n          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001ef05c;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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 *)0x1ee9c0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ee9c0")) (: ":") (expression_statement "bVar14 = bVar13 & 7;" (assignment_expression "bVar14 = bVar13 & 7" (identifier "bVar14") (= "=") (binary_expression "bVar13 & 7" (identifier "bVar13") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x001ee9c3:\n          if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" (statement_identifier "code_r0x001ee9c3") (: ":") (if_statement "if (bVar14 != 1) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(bVar14 != 1)" (( "(") (binary_expression "bVar14 != 1" (identifier "bVar14") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;\n            *(undefined4 *)(puVar17 + -0xc) = 0xb5;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;\n                    \n            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d" (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 + -0x41b7d" (identifier "local_64") (+ "+") (number_literal "-0x41b7d"))) (; ";")) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eefee" (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_001eefee" (& "&") (identifier "UNK_001eefee"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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_001ee9d8;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8" (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_001ee9d8" (& "&") (identifier "UNK_001ee9d8"))) (; ";")) (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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;\n              pcStack_34 = pcVar1;\n              ppuStack_30 = local_54;\n              FUN_000efc40();\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_001eea03;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea03" (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_001eea03" (& "&") (identifier "UNK_001eea03"))) (; ";")) (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_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;\n              uStack_84 = uVar4;\n              FUN_000efc40();\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_001eea2e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea2e" (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_001eea2e" (& "&") (identifier "UNK_001eea2e"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (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_001ef05c;" (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_001ef05c;" (goto "goto") (statement_identifier "LAB_001ef05c") (; ";"))) (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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;\n            uStack_84 = uVar4;\n            iVar10 = (*pcVar7)();\n            uVar20 = CONCAT44(local_58,local_5c);\n            if (iVar10 == 0) {\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }\n            uVar4 = uStack_84;\n            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;\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_001eea5e;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001eea5e" (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_001eea5e" (& "&") (identifier "UNK_001eea5e"))) (; ";")) (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 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n              *(undefined4 *)(puVar17 + -0xc) = 0xc81;\n              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;\n              FUN_000da200();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6" (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_001ef1e6" (& "&") (identifier "LAB_001ef1e6"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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_001ef168;" (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_001ef168;" (goto "goto") (statement_identifier "LAB_001ef168") (; ";"))) (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_001ee768:\n        uStack_84 = uVar20;" (statement_identifier "LAB_001ee768") (: ":") (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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7a1;\n          FUN_001ec740();\n          uVar4 = uStack_84;\n        }" ({ "{") (if_statement "if (local_6c <= (uint)((int)pcVar1 - local_70)) {\n            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xca1;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef10a" (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 "0x1ef10a")) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ee7a1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7a1" (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 "0x1ee7a1")) (; ";")) (expression_statement "FUN_001ec740();" (call_expression "FUN_001ec740()" (identifier "FUN_001ec740") (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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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) = 0x1ee7de;\n          uStack_84 = uVar4;\n          FUN_001ec740();\n          piVar9 = *(int **)(*local_68 + 0xc);\n          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;\n          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);\n          uVar4 = uStack_84;\n          if (ppuVar11 != local_64 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\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 + -0x41bcf;\n            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;\n            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;\n                    \n            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;\n            uStack_84 = uVar4;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec" (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_001ef0ec" (& "&") (identifier "LAB_001ef0ec"))) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ee7de;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee7de" (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 "0x1ee7de")) (; ";")) (expression_statement "uStack_84 = uVar4;" (assignment_expression "uStack_84 = uVar4" (identifier "uStack_84") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FUN_001ec740();" (call_expression "FUN_001ec740()" (identifier "FUN_001ec740") (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_001ef0b3;" (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_001ef0b3;" (goto "goto") (statement_identifier "LAB_001ef0b3") (; ";"))) (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 + -0xdbf70) {\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\n            (*(code *)ppuVar11)();\n            uVar4 = uStack_84;\n          }" (if "if") (parenthesized_expression "(ppuVar11 != local_64 + -0xdbf70)" (( "(") (binary_expression "ppuVar11 != local_64 + -0xdbf70" (identifier "ppuVar11") (!= "!=") (binary_expression "local_64 + -0xdbf70" (identifier "local_64") (+ "+") (number_literal "-0xdbf70"))) () ")")) (compound_statement "{\n            *(int *)(puVar17 + -8) = iVar10;\n            *(int *)(puVar17 + -0xc) = iVar15;\n            *(int **)(puVar17 + -0x10) = piVar9;\n            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;\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) = 0x1eeb38;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1eeb38" (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 "0x1eeb38")) (; ";")) (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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }\n      if (iVar10 != -1) {\n        if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }\n      }" (else "else") (compound_statement "{\n        iVar18 = *(int *)(iVar15 + 0x14);\n        if (iVar18 == 0) {\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\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_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001ef00e:\n          ppuVar11 = local_64;\n          uStack_84 = uVar4;\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;\n          *(undefined4 *)(puVar17 + -0xc) = 0x19a;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;\n          FUN_000da200();\n        }" ({ "{") (labeled_statement "LAB_001ef00e:\n          ppuVar11 = local_64;" (statement_identifier "LAB_001ef00e") (: ":") (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 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41b71" (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 + -0x41b71" (identifier "local_64") (+ "+") (number_literal "-0x41b71"))) (; ";")) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef02c" (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 "0x1ef02c")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" (else "else") (compound_statement "{\n        if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }\n        uVar8 = 0;\n      }" ({ "{") (if_statement "if (bVar13 != 4) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(bVar13 != 4)" (( "(") (binary_expression "bVar13 != 4" (identifier "bVar13") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xccb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef095" (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 "0x1ef095")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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) = 0x1ee88f;\n        FUN_001ec740();\n        uVar8 = local_50;\n      }" ({ "{") (if_statement "if (local_6c <= (uint)(iVar10 - local_70)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3" (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 "0x1ef0b3")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ee88f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee88f" (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 "0x1ee88f")) (; ";")) (expression_statement "FUN_001ec740();" (call_expression "FUN_001ec740()" (identifier "FUN_001ec740") (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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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) = 0x1ee8cc;\n        FUN_001ec740();\n        uVar4 = uStack_84;\n      }" ({ "{") (if_statement "if (local_74 <= (uint)(iVar18 - local_78)) {\n          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\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 + -0x41bcf;\n          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;\n          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;\n                    \n          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;\n          FUN_000da200();\n        }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf" (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 + -0x41bcf" (identifier "local_64") (+ "+") (number_literal "-0x41bcf"))) (; ";")) (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 + -0x10763f;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f" (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 + -0x10763f" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128;" (assignment_expression "*(undefined **)(puVar17 + -0x14) = &UNK_001ef128" (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_001ef128" (& "&") (identifier "UNK_001ef128"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (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) = 0x1ee8cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x1ee8cc" (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 "0x1ee8cc")) (; ";")) (expression_statement "FUN_001ec740();" (call_expression "FUN_001ec740()" (identifier "FUN_001ec740") (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_001eeff0:\n  ppuVar11 = local_64;" (statement_identifier "LAB_001eeff0") (: ":") (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 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb" (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 + -0x41bbb" (identifier "local_64") (+ "+") (number_literal "-0x41bbb"))) (; ";")) (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 + -0x11d0d2;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2" (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 + -0x11d0d2" (cast_expression "(int)ppuVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar11")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1ef00e" (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 "0x1ef00e")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* 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, false>
   DWARF original prototype: void sized_write_globals<64,_false>(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,_false>
          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,
          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)

{
  type_13 *puVar1;
  type_1 *p_Var2;
  type_2 *pGVar3;
  type_3 *pTVar4;
  type_4 **ppuVar5;
  type_5 **pp_Var6;
  type_5 *p_Var7;
  type_6 ppSVar8;
  type_1 *p_Var9;
  int var_8;
  int var_10;
  type_1 **pp_Var12;
  char cVar13;
  type_1 *p_Var14;
  type_7 var_5;
  type_1 *p_Var16;
  type_8 *pOVar17;
  type_9 uVar18;
  type_10 bVar19;
  type_10 bVar20;
  type_1 *extraout_EDX;
  type_1 *p_Var21;
  type_7 uVar22;
  int var_6;
  type_11 *pSVar24;
  type_7 *puVar25;
  type_7 *puVar26;
  type_7 var_11;
  bool bVar28;
  type_7 auStack_b4 [2];
  type_7 var_1 [4];
  type_3 *local_90;
  type_12 *local_8c;
  type_1 *local_88;
  type_1 *local_84;
  type_1 *local_80;
  type_13 *local_7c;
  type_7 local_78;
  type_7 var_12;
  type_7 local_70;
  type_7 var_4;
  type_14 **local_68;
  type_4 **var_2;
  type_1 *local_60;
  type_1 *local_5c;
  type_1 *local_58;
  type_1 *local_54;
  type_7 local_50;
  type_1 *local_4c;
  type_13 *local_48;
  int *local_44;
  type_1 *local_40;
  type_1 *local_34;
  type_1 *local_30;
  type_1 local_2c [7];
  
  puVar25 = var_1 + 1;
  var_2 = &_GLOBAL_OFFSET_TABLE_;
  local_68 = &parameters;
  local_90 = parameters->target_;
  if (parameters->target_ == (type_3 *)0x0) {
LAB_001ef0b3:
    ppuVar5 = var_2;
    puVar25[0xfffffffe] = (type_7)(var_2 + -0x41a94);
    puVar25[0xfffffffd] = 0x69;
    puVar25[0xfffffffc] = (int)ppuVar5 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    puVar25[0xfffffffb] = 0x1ef0ce;
    var_3((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],(char *)puVar25[0xfffffffe])
    ;
  }
  var_4 = this->output_count_;
  local_70 = this->first_global_index_;
  var_6 = *(int *)((int)&this->offset_ + 4);
  var_5 = (type_7)this->offset_;
  if ((var_4 == 0) || (var_5 == 0 && var_6 == 0)) {
    local_7c = (type_13 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_7)var_7(var_4 * 0x18,var_5),
       var_11 = (type_7)((type_7)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_001ef186;
    local_7c = of->base_ + var_5;
  }
  var_12 = this->dynamic_count_;
  local_78 = this->first_dynamic_global_index_;
  var_6 = *(int *)((int)&this->dynamic_offset_ + 4);
  var_5 = (type_7)this->dynamic_offset_;
  if ((var_12 == 0) || (var_5 == 0 && var_6 == 0)) {
    local_48 = (type_13 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_7)var_7(var_12 * 0x18,var_5),
       var_11 = (type_7)((type_7)of->file_size_ < var_12 * 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)) {
LAB_001ef186:
                    /* WARNING: Subroutine does not return */
      var_3("../../gold/output.h",0x6f,"get_output_view");
    }
    local_48 = of->base_ + var_5;
  }
  local_4c = (this->table_)._M_h._M_before_begin._M_nxt;
  puVar25 = var_1 + 1;
  if (local_4c != (type_1 *)0x0) {
    local_8c = (type_12 *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cc7c);
    puVar25 = var_1 + 1;
    do {
      p_Var2 = local_4c[3]._M_nxt;
      if ((((((type_7)p_Var2[10]._M_nxt & 0x70000) == 0) &&
           (p_Var14 = p_Var2[2]._M_nxt, ((type_7)p_Var14[0xb]._M_nxt & 1) != 0)) &&
          (p_Var2[3]._M_nxt == (type_1 *)0x0)) && (*(type_10 *)&p_Var2[10]._M_nxt >> 4 != 2))
      {
        pGVar3 = (*local_68)->options_;
        if (pGVar3 == (type_2 *)0x0) goto LAB_001ef05c;
        if ((pGVar3->allow_shlib_undefined_).value == false) {
          pTVar4 = (*local_68)->target_;
          if (pTVar4 == (type_3 *)0x0) goto LAB_001ef0b3;
          ppuVar5 = (type_4 **)pTVar4->_vptr_Target[7];
          if (ppuVar5 != var_2 + -0xdbf94) {
            puVar25[-3] = (type_7)p_Var2;
            puVar25[-4] = (type_7)pTVar4;
            puVar25[-5] = 0x1eeeb3;
            cVar13 = (*(type_12 *)ppuVar5)();
            if (cVar13 != '\0') goto LAB_001ee640;
            if (((type_7)p_Var2[10]._M_nxt & 0x70000) != 0) goto LAB_001eeec8;
            p_Var14 = p_Var2[2]._M_nxt;
          }
          if (((type_7)p_Var14[0xb]._M_nxt & 0x20) == 0) {
            if (p_Var14[0x17]._M_nxt == (type_1 *)0x0) {
              puVar25[-1] = 0;
              puVar25[-2] = (type_7)(var_2 + -0x41bb3);
              puVar25[-3] = 0x3e;
              puVar25[-4] = (type_7)(var_2 + -0x47464);
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = 0x1ef21b;
              var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
            if (p_Var14[0x17]._M_nxt != (type_1 *)0x1) {
              puVar25[-4] = (type_7)p_Var2;
              puVar25[-5] = 0x1eee46;
              gold_undefined_symbol((type_11 *)puVar25[-4]);
            }
          }
        }
      }
LAB_001ee640:
      p_Var14 = p_Var2[4]._M_nxt;
      if (p_Var14 == (type_1 *)0x0) goto LAB_001eeff0;
      if (local_48 == (type_13 *)0x0) {
        local_60 = (type_1 *)0xffffffff;
        p_Var16 = p_Var14;
      }
      else {
        local_60 = p_Var2[5]._M_nxt;
        if (local_60 == (type_1 *)0x0) goto LAB_001ef00e;
        p_Var16 = (type_1 *)((type_7)local_60 & (type_7)p_Var14);
      }
      if (p_Var16 != (type_1 *)0xffffffff) {
        local_5c = p_Var2[0xc]._M_nxt;
        local_58 = p_Var2[0xd]._M_nxt;
        local_50 = (type_7)(*(type_10 *)&p_Var2[10]._M_nxt >> 4);
        pGVar3 = (*local_68)->options_;
        if (pGVar3 == (type_2 *)0x0) goto LAB_001ef05c;
        bVar19 = *(type_10 *)((int)&p_Var2[10]._M_nxt + 2);
        var_5 = bVar19 & 7;
        bVar20 = (type_10)var_5;
        if (((pGVar3->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {
          if (bVar20 == 0) {
            local_54 = p_Var2[3]._M_nxt;
            if ((local_54 == (type_1 *)0x0) &&
               ((*(type_10 *)((int)&p_Var2[10]._M_nxt + 3) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001eedb9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(type_12 *)((int)var_2 + (int)var_2[-0x41cd2]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar20 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(type_12 *)((int)var_2 + (int)var_2[-0x41cd8]))();
            return;
          }
          if (4 < bVar20) goto LAB_001ef02c;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          switch(var_2[var_5 - 0x41cd7] + (int)var_2) {
          case (type_4 *)0x1eeaf0:
            local_50 = 1;
            local_54 = (type_1 *)0x0;
            break;
          case (type_4 *)0x1eeb10:
            local_50 = 1;
            local_54 = (type_1 *)0xfff1;
            break;
          case (type_4 *)0x1eed20:
            local_50 = 1;
            goto LAB_001ee9c3;
          case (type_4 *)0x1eed30:
            local_50 = 1;
            goto LAB_001ee933;
          case (type_4 *)0x1ef128:
_L1796:
            puVar25[-2] = (type_7)(var_2 + -0x41a8e);
            puVar25[-3] = 0xaa;
            puVar25[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = 0x1ef146;
            var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          goto LAB_001ee768;
        }
        if (local_50 == 10) {
          var_11 = 1;
          if ((pGVar3->gnu_unique_).value != false) {
            var_11 = local_50;
          }
          local_50 = var_11;
        }
        if (4 < bVar20) {
LAB_001ef02c:
          puVar25[-2] = (type_7)(var_2 + -0x41bcf);
          puVar25[-3] = 0xc9b;
          puVar25[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[-5] = 0x1ef04a;
          var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
        }
        switch(var_2[var_5 - 0x41ce6] + (int)var_2) {
        case (type_4 *)0x1ee6f0:
          if ((bVar19 & 7) != 0) goto _L1796;
          local_54 = p_Var2[3]._M_nxt;
          bVar20 = *(type_10 *)((int)&p_Var2[10]._M_nxt + 3) >> 5;
          bVar19 = bVar20 & 1;
          p_Var16 = local_54;
          if ((local_54 != (type_1 *)0xfff1) && (bVar19 != 1)) {
            local_84 = local_54;
            puVar25[-4] = (type_7)local_54;
            local_88 = (type_1 *)(CONCAT31(local_88._1_3_,bVar20) & 0xffffff01);
            puVar25[-5] = 0x1eed62;
            bVar28 = type_11::is_common_shndx(puVar25[-4]);
            if (!bVar28) {
              local_88 = local_84;
              puVar25[-1] = 0x1eedd0;
              demangle((string *)*puVar25,(char *)puVar25[1]);
              local_84 = local_34;
              puVar25[-4] = (type_7)(var_2 + -0x41d21);
              puVar25[-5] = 0x1eedea;
              uVar18 = gettext();
              puVar25[-2] = (type_7)local_88;
              puVar25[-3] = (type_7)local_84;
              puVar25[-4] = uVar18;
                    /* try { // try from 001eedfc to 001eee00 has its CatchHandler @ 001ef239 */
              puVar25[-5] = 0x1eee01;
              gold_error((char *)puVar25[-4]);
              p_Var16 = local_5c;
              p_Var21 = local_58;
              if (local_34 != local_2c) {
                puVar25[-4] = (type_7)local_34;
                puVar25[-5] = 0x1eee1e;
                operator_delete((void *)puVar25[-4]);
                p_Var16 = local_5c;
                p_Var21 = local_58;
              }
              break;
            }
            p_Var16 = local_84;
            bVar19 = (type_10)local_88;
            if (((type_7)p_Var2[10]._M_nxt & 0x70000) != 0) {
LAB_001eeec8:
              puVar25[-2] = (type_7)(var_2 + -0x41a96);
              puVar25[-3] = 0xa1;
              puVar25[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = (type_7)&UNK_001eeee6;
              var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
          }
          p_Var9 = p_Var2[2]._M_nxt;
          if (((type_7)p_Var9[0xb]._M_nxt & 1) == 0) {
            p_Var21 = p_Var9->_M_nxt;
            puVar25[-4] = (type_7)p_Var9;
            local_88 = (type_1 *)CONCAT31(local_88._1_3_,bVar19);
            p_Var21 = p_Var21[5]._M_nxt;
            puVar25[-5] = 0x1eeb52;
            local_84 = p_Var16;
            var_6 = (*(type_12 *)p_Var21)();
            if ((local_84 == (type_1 *)0x0) || (var_6 != 0)) goto _L1861;
            if ((type_10)local_88 == '\0') {
              p_Var16 = local_5c;
              p_Var21 = local_58;
              if (local_84 != (type_1 *)0xfff1) {
                puVar25[-4] = (type_7)local_84;
                puVar25[-5] = 0x1eeb91;
                bVar28 = type_11::is_common_shndx(puVar25[-4]);
                p_Var16 = local_5c;
                p_Var21 = local_58;
                if (!bVar28) goto LAB_001eeb9f;
              }
            }
            else {
LAB_001eeb9f:
              p_Var21 = local_84;
              p_Var16 = p_Var9->_M_nxt[0x18]._M_nxt;
              local_88 = (type_1 *)(var_2 + -0xdb9ec);
              if (p_Var16 == (type_1 *)(var_2 + -0xdb9ec)) {
                p_Var16 = (type_1 *)
                          ((int)p_Var9[0xf]._M_nxt - (int)p_Var9[0xe]._M_nxt >> 2);
                puVar26 = puVar25;
                if (p_Var16 <= local_84) goto LAB_001ef1e6;
                local_84 = p_Var9[0xe]._M_nxt[(int)local_84]._M_nxt;
                local_54 = p_Var21;
              }
              else {
                local_54 = local_84;
                puVar25[-3] = (type_7)local_84;
                puVar25[-4] = (type_7)p_Var9;
                puVar25[-5] = 0x1eefa1;
                local_84 = (type_1 *)(*(type_12 *)p_Var16)();
              }
              puVar25[-2] = (type_7)local_54;
              puVar25[-3] = (type_7)p_Var9;
              puVar25[-4] = (type_7)this;
              puVar25[-5] = 0x1eebe4;
              bVar28 = is_section_folded((Symbol_table *)puVar25[-4],(Relobj *)puVar25[-3],
                                         puVar25[-2]);
              if (bVar28) {
                puVar25[-1] = (type_7)local_54;
                puVar25[-2] = (type_7)p_Var9;
                puVar25[-3] = (type_7)this->icf_;
                puVar25[-4] = (type_7)&local_44;
                puVar25[-5] = 0x1eef13;
                Icf::get_folded_section((Icf *)puVar25[-3],(Relobj *)puVar25[-2],puVar25[-1]);
                puVar26 = puVar25 + -1;
                if (local_44 == (int *)0x0) {
                  puVar25[-2] = 0;
                  puVar25[-3] = (type_7)(var_2 + -0x41bcf);
                  puVar25[-4] = 0xc53;
                  puVar25[-5] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-6] = (type_7)&UNK_001ef162;
                  var_3((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);
                }
                p_Var16 = *(type_1 **)(*local_44 + 0x60);
                if (p_Var16 == local_88) {
                  p_Var16 = (type_1 *)(local_44[0xf] - local_44[0xe] >> 2);
                  if (p_Var16 <= local_40) {
LAB_001ef1e6:
                    ppuVar5 = var_2;
                    *(type_1 **)((int)puVar26 + -4) = p_Var16;
                    *(type_4 ***)((int)puVar26 + -8) = ppuVar5 + -0x41aa9;
                    *(type_9 *)((int)puVar26 + -0xc) = 0x5c8;
                    *(type_4 ***)((int)puVar26 + -0x10) = ppuVar5 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(type_9 *)((int)puVar26 + -0x14) = 0x1ef202;
                    var_3(*(char **)((int)puVar26 + -0x10),
                                        *(int *)((int)puVar26 + -0xc),*(char **)((int)puVar26 + -8))
                    ;
                  }
                  local_84 = *(type_1 **)(local_44[0xe] + (int)local_40 * 4);
                }
                else {
                  puVar25[-4] = (type_7)local_40;
                  puVar25[-5] = (type_7)local_44;
                  puVar25[-6] = 0x1ef051;
                  local_84 = (type_1 *)(*(type_12 *)p_Var16)();
                }
                puVar26 = puVar25 + -1;
                if (local_84 == (type_1 *)0x0) {
                  puVar25[-2] = (type_7)p_Var2;
                  puVar25[-3] = (type_7)(var_2 + -0x41bcf);
                  puVar25[-4] = 0xc57;
                  puVar25[-5] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-6] = (type_7)&UNK_001eef75;
                  var_3((char *)puVar25[-5],puVar25[-4],(char *)puVar25[-3]);
                }
              }
              else {
                puVar26 = puVar25;
                if (local_84 == (type_1 *)0x0) {
                  puVar25[-1] = (type_7)local_54;
                  puVar25[-2] = (type_7)(var_2 + -0x41bcf);
                  puVar25[-3] = 0xc59;
                  puVar25[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar25[-5] = 0x1ef1bb;
                  var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
                }
              }
              puVar25 = puVar26;
              p_Var16 = local_84->_M_nxt[0xb]._M_nxt;
              if (p_Var16 == (type_1 *)(var_2 + -0xcba68)) {
                local_54 = local_84[0x18]._M_nxt;
                if (local_84[0x18]._M_nxt == (type_1 *)0xffffffff) {
LAB_001ef21b:
                  ppuVar5 = var_2;
                  *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41bb7;
                  *(type_9 *)((int)puVar25 + -0xc) = 0x1043;
                  *(type_4 ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)((int)puVar25 + -0x14) = &LAB_001ef239;
                  var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)
                                      ,*(char **)((int)puVar25 + -8));
                }
              }
              else {
                *(type_1 **)((int)puVar25 + -0x10) = local_84;
                *(type_9 *)((int)puVar25 + -0x14) = 0x1eef8c;
                local_54 = (type_1 *)(*(type_12 *)p_Var16)();
              }
              if ((type_1 *)0xfeff < local_54) {
                if (p_Var14 != (type_1 *)0xffffffff) {
                  local_30 = local_54;
                  *(type_1 ***)((int)puVar25 + -0xc) = &local_34;
                  local_34 = p_Var14;
                  *(Xindex_entries **)((int)puVar25 + -0x10) = &symtab_xindex->entries_;
                  *(type_9 *)((int)puVar25 + -0x14) = 0x1eec4d;
                  std::
                  vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                  ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                               **)((int)puVar25 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));
                }
                if (local_60 == (type_1 *)0xffffffff) {
                  local_54 = (type_1 *)0xffff;
                }
                else {
                  local_34 = local_60;
                  local_30 = local_54;
                  *(type_1 ***)((int)puVar25 + -0xc) = &local_34;
                  *(Xindex_entries **)((int)puVar25 + -0x10) = &dynsym_xindex->entries_;
                  *(type_9 *)((int)puVar25 + -0x14) = 0x1eec78;
                  std::
                  vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                  ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                            (*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                               **)((int)puVar25 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar25 + -0xc));
                  local_54 = (type_1 *)0xffff;
                }
              }
              p_Var21 = local_58;
              p_Var16 = local_5c;
              if ((*local_68)->options_ == (type_2 *)0x0) {
LAB_001ef05c:
                ppuVar5 = var_2;
                *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41a86;
                *(type_9 *)((int)puVar25 + -0xc) = 0x5c;
                *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(type_9 *)((int)puVar25 + -0x14) = 0x1ef077;
                var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                    *(char **)((int)puVar25 + -8));
              }
              if (((*local_68)->options_->relocatable_).value != false) {
                if (((type_7)local_84[7]._M_nxt & 1) == 0) {
LAB_001ef168:
                  ppuVar5 = var_2;
                  *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41b7f;
                  *(type_9 *)((int)puVar25 + -0xc) = 0xc5;
                  *(type_4 ***)((int)puVar25 + -0x10) = ppuVar5 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(type_9 *)((int)puVar25 + -0x14) = 0x1ef186;
                  var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc)
                                      ,*(char **)((int)puVar25 + -8));
                }
                bVar28 = local_5c < local_84[1]._M_nxt;
                local_5c = (type_1 *)((int)local_5c - (int)local_84[1]._M_nxt);
                local_58 = (type_1 *)
                           ((int)local_58 + (-(type_7)bVar28 - (int)local_84[2]._M_nxt));
              }
            }
          }
          else {
            p_Var16 = local_5c;
            p_Var21 = local_58;
            if (((type_7)p_Var2[10]._M_nxt & 0x2000000) != 0) {
              pp_Var6 = local_90->_vptr_Target;
              puVar25[-3] = (type_7)p_Var2;
              puVar25[-4] = (type_7)local_90;
              p_Var7 = pp_Var6[5];
              puVar25[-5] = 0x1ee745;
              p_Var16 = (type_1 *)(*p_Var7)();
              p_Var21 = extraout_EDX;
            }
            local_54 = (type_1 *)0x0;
            local_50 = 2 - ((*(type_10 *)&p_Var2[0xb]._M_nxt >> 1 & 1) == 0);
          }
          break;
        case (type_4 *)0x1ee930:
          bVar20 = bVar19 & 7;
LAB_001ee933:
          if (bVar20 != 2) {
            puVar25[-2] = (type_7)(var_2 + -0x41b8b);
            puVar25[-3] = 200;
            puVar25[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = (type_7)&UNK_001eefce;
            var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          puVar25[-4] = (type_7)p_Var2[2]._M_nxt;
          puVar25[-5] = 0x1ee94a;
          pOVar17 = Output_segment::first_section((Output_segment *)puVar25[-4]);
          if (pOVar17 == (type_8 *)0x0) goto _L1868;
          ppuVar5 = (type_4 **)(pOVar17->super_Output_data)._vptr_Output_data[0xb];
          if (ppuVar5 == var_2 + -0xcba68) {
            local_54 = (type_1 *)pOVar17->out_shndx_;
            p_Var16 = local_5c;
            p_Var21 = local_58;
            if ((type_1 *)pOVar17->out_shndx_ == (type_1 *)0xffffffff)
            goto LAB_001ef21b;
          }
          else {
            puVar25[-4] = (type_7)pOVar17;
            puVar25[-5] = 0x1eed8e;
            local_54 = (type_1 *)(*(type_12 *)ppuVar5)();
            p_Var16 = local_5c;
            p_Var21 = local_58;
          }
          break;
        case (type_4 *)0x1ee990:
_L1861:
          local_54 = (type_1 *)0x0;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          break;
        case (type_4 *)0x1ee9a8:
_L1868:
          local_54 = (type_1 *)0xfff1;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          break;
        case (type_4 *)0x1ee9c0:
          bVar20 = bVar19 & 7;
LAB_001ee9c3:
          if (bVar20 != 1) {
            puVar25[-2] = (type_7)(var_2 + -0x41b7d);
            puVar25[-3] = 0xb5;
            puVar25[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar25[-5] = (type_7)&UNK_001eefee;
            var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
          }
          p_Var9 = p_Var2[2]._M_nxt;
          p_Var16 = p_Var9->_M_nxt;
          puVar25[-4] = (type_7)p_Var9;
          p_Var16 = p_Var16[0xb]._M_nxt;
          puVar25[-5] = 0x1ee9d8;
          local_54 = (type_1 *)(*(type_12 *)p_Var16)();
          if ((type_1 *)0xfeff < local_54) {
            if (p_Var14 != (type_1 *)0xffffffff) {
              local_30 = local_54;
              puVar25[-3] = (type_7)&local_34;
              local_34 = p_Var14;
              puVar25[-4] = (type_7)&symtab_xindex->entries_;
              puVar25[-5] = 0x1eea03;
              std::
              vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
              ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);
            }
            if (local_60 == (type_1 *)0xffffffff) {
              local_54 = (type_1 *)0xffff;
            }
            else {
              local_34 = local_60;
              local_30 = local_54;
              puVar25[-3] = (type_7)&local_34;
              puVar25[-4] = (type_7)&dynsym_xindex->entries_;
              puVar25[-5] = 0x1eea2e;
              std::
              vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
              ::emplace_back<std::pair<unsigned_int,_unsigned_int>_>
                        ((vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                          *)puVar25[-4],(pair<unsigned_int,_unsigned_int> *)puVar25[-3]);
              local_54 = (type_1 *)0xffff;
            }
          }
          if ((*local_68)->options_ == (type_2 *)0x0) goto LAB_001ef05c;
          p_Var16 = local_5c;
          p_Var21 = local_58;
          if (((*local_68)->options_->relocatable_).value != false) {
            p_Var16 = p_Var9->_M_nxt;
            puVar25[-4] = (type_7)p_Var9;
            p_Var16 = p_Var16[9]._M_nxt;
            puVar25[-5] = 0x1eea5e;
            var_6 = (*(type_12 *)p_Var16)();
            p_Var21 = local_58;
            p_Var16 = local_5c;
            if (var_6 == 0) {
              puVar25[-2] = (type_7)(var_2 + -0x41bcf);
              puVar25[-3] = 0xc81;
              puVar25[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
              puVar25[-5] = 0x1ef1e6;
              var_3((char *)puVar25[-4],puVar25[-3],(char *)puVar25[-2]);
            }
            if ((*(type_10 *)(var_6 + 0x1c) & 1) == 0) goto LAB_001ef168;
            bVar28 = local_5c < *(type_1 **)(var_6 + 4);
            local_5c = (type_1 *)((int)local_5c - (int)*(type_1 **)(var_6 + 4));
            local_58 = (type_1 *)((int)local_58 + (-(type_7)bVar28 - *(int *)(var_6 + 8)));
          }
        }
LAB_001ee768:
        if (p_Var14 != (type_1 *)0xffffffff) {
          if (var_4 <= (int)p_Var14 - local_70) {
            *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41bcf;
            *(type_9 *)((int)puVar25 + -0xc) = 0xca1;
            *(int *)((int)puVar25 + -0x10) = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(type_9 *)((int)puVar25 + -0x14) = 0x1ef10a;
            var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          local_84 = p_Var16;
          local_80 = p_Var21;
          *(type_13 **)((int)puVar25 + -4) = local_7c + ((int)p_Var14 - local_70) * 0x18;
          *(Stringpool **)((int)puVar25 + -8) = sympool;
          *(type_7 *)((int)puVar25 + -0xc) = local_50;
          *(type_1 **)((int)puVar25 + -0x10) = local_54;
          *(type_1 **)((int)puVar25 + -0x14) = local_58;
          *(type_1 **)((int)puVar25 + -0x18) = local_5c;
          *(type_1 **)((int)puVar25 + -0x1c) = p_Var2;
          *(Symbol_table **)((int)puVar25 + -0x20) = this;
          *(type_9 *)((int)puVar25 + -0x24) = 0x1ee7a1;
          sized_write_symbol<64,_false>
                    (*(Symbol_table **)((int)puVar25 + -0x20),
                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),
                     *(Elf_Addr *)((int)puVar25 + -0x18),*(type_7 *)((int)puVar25 + -0x10),
                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),
                     *(type_13 **)((int)puVar25 + -4));
          p_Var16 = local_84;
          p_Var21 = local_80;
        }
        if (local_60 != (type_1 *)0xffffffff) {
          if (var_12 <= (int)local_60 - local_78) {
            *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41bcf;
            *(type_9 *)((int)puVar25 + -0xc) = 0xcaa;
            *(int *)((int)puVar25 + -0x10) = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(type_9 *)((int)puVar25 + -0x14) = 0x1ef0ec;
            var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                                *(char **)((int)puVar25 + -8));
          }
          puVar1 = local_48 + ((int)local_60 - local_78) * 0x18;
          *(type_13 **)((int)puVar25 + -4) = puVar1;
          *(Stringpool **)((int)puVar25 + -8) = dynpool;
          *(type_7 *)((int)puVar25 + -0xc) = local_50;
          *(type_1 **)((int)puVar25 + -0x10) = local_54;
          *(type_1 **)((int)puVar25 + -0x14) = p_Var21;
          *(type_1 **)((int)puVar25 + -0x18) = p_Var16;
          *(type_1 **)((int)puVar25 + -0x1c) = p_Var2;
          *(Symbol_table **)((int)puVar25 + -0x20) = this;
          *(type_9 *)((int)puVar25 + -0x24) = 0x1ee7de;
          sized_write_symbol<64,_false>
                    (*(Symbol_table **)((int)puVar25 + -0x20),
                     *(Sized_symbol<64> **)((int)puVar25 + -0x1c),
                     *(Elf_Addr *)((int)puVar25 + -0x18),*(type_7 *)((int)puVar25 + -0x10),
                     *(STB *)((int)puVar25 + -0xc),*(Stringpool **)((int)puVar25 + -8),
                     *(type_13 **)((int)puVar25 + -4));
          pTVar4 = (*local_68)->target_;
          if (pTVar4 == (type_3 *)0x0) goto LAB_001ef0b3;
          ppuVar5 = (type_4 **)pTVar4->_vptr_Target[0x27];
          if (ppuVar5 != var_2 + -0xdbf70) {
            *(type_13 **)((int)puVar25 + -8) = puVar1;
            *(type_1 **)((int)puVar25 + -0xc) = p_Var2;
            *(type_3 **)((int)puVar25 + -0x10) = pTVar4;
            *(type_9 *)((int)puVar25 + -0x14) = 0x1eeb38;
            (*(type_12 *)ppuVar5)();
          }
        }
      }
      pp_Var12 = &local_4c->_M_nxt;
      local_4c = *pp_Var12;
    } while (*pp_Var12 != (type_1 *)0x0);
  }
  ppSVar8 = (this->target_symbols_).
            super__Vector_base<gold::type_11*,_std::allocator<gold::type_11*>_>._M_impl._M_start;
  if (ppSVar8 ==
      (this->target_symbols_).super__Vector_base<gold::type_11*,_std::allocator<gold::type_11*>_>.
      _M_impl._M_finish) {
    return;
  }
  pSVar24 = *ppSVar8;
  var_5 = pSVar24->symtab_index_;
  if (var_5 != 0) {
    local_4c = (type_1 *)(ppSVar8 + 1);
    do {
      ppuVar5 = var_2;
      if (local_48 == (type_13 *)0x0) {
        var_11 = 0xffffffff;
      }
      else {
        var_11 = pSVar24->dynsym_index_;
        if (var_11 == 0) {
LAB_001ef00e:
          ppuVar5 = var_2;
          *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41b71;
          *(type_9 *)((int)puVar25 + -0xc) = 0x19a;
          *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(type_9 *)((int)puVar25 + -0x14) = 0x1ef02c;
          var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                              *(char **)((int)puVar25 + -8));
        }
      }
      bVar19 = pSVar24->field_0x2a & 7;
      if (bVar19 == 3) {
        uVar22 = 0xfff1;
      }
      else {
        if (bVar19 != 4) {
          puVar25[0xfffffffe] = (type_7)(var_2 + -0x41bcf);
          puVar25[0xfffffffd] = 0xccb;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef095;
          var_3((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        uVar22 = 0;
      }
      if (var_5 != 0xffffffff) {
        if (var_4 <= var_5 - local_70) {
          puVar25[0xfffffffe] = (type_7)(var_2 + -0x41bcf);
          puVar25[0xfffffffd] = 0xcd1;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef0b3;
          var_3((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        local_50 = uVar22;
        puVar25[0xffffffff] = (type_7)(local_7c + (var_5 - local_70) * 0x18);
        bVar19 = pSVar24->field_0x28;
        puVar25[0xfffffffe] = (type_7)sympool;
        puVar25[0xfffffffd] = (type_7)(bVar19 >> 4);
        puVar25[0xfffffffc] = uVar22;
        puVar25[0xfffffffb] = (type_7)pSVar24[1].version_;
        puVar25[0xfffffffa] = (type_7)pSVar24[1].name_;
        puVar25[0xfffffff9] = (type_7)pSVar24;
        puVar25[0xfffffff8] = (type_7)this;
        puVar25[0xfffffff7] = 0x1ee88f;
        sized_write_symbol<64,_false>
                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],
                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],
                   (Stringpool *)puVar25[0xfffffffe],(type_13 *)puVar25[0xffffffff]);
        uVar22 = local_50;
      }
      ppuVar5 = var_2;
      if (var_11 != 0xffffffff) {
        if (var_12 <= var_11 - local_78) {
          puVar25[0xfffffffe] = (type_7)(var_2 + -0x41bcf);
          puVar25[0xfffffffd] = 0xcdb;
          puVar25[0xfffffffc] = (int)ppuVar5 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar25[0xfffffffb] = 0x1ef128;
          var_3((char *)puVar25[0xfffffffc],puVar25[0xfffffffd],
                              (char *)puVar25[0xfffffffe]);
        }
        puVar25[0xffffffff] = (type_7)(local_48 + (var_11 - local_78) * 0x18);
        bVar19 = pSVar24->field_0x28;
        puVar25[0xfffffffe] = (type_7)dynpool;
        puVar25[0xfffffffd] = (type_7)(bVar19 >> 4);
        puVar25[0xfffffffc] = uVar22;
        puVar25[0xfffffffb] = (type_7)pSVar24[1].version_;
        puVar25[0xfffffffa] = (type_7)pSVar24[1].name_;
        puVar25[0xfffffff9] = (type_7)pSVar24;
        puVar25[0xfffffff8] = (type_7)this;
        puVar25[0xfffffff7] = 0x1ee8cc;
        sized_write_symbol<64,_false>
                  ((Symbol_table *)puVar25[0xfffffff8],(Sized_symbol<64> *)puVar25[0xfffffff9],
                   *(Elf_Addr *)(puVar25 + 0xfffffffa),puVar25[0xfffffffc],puVar25[0xfffffffd],
                   (Stringpool *)puVar25[0xfffffffe],(type_13 *)puVar25[0xffffffff]);
      }
      if ((type_1 *)
          (this->target_symbols_).super__Vector_base<gold::type_11*,_std::allocator<gold::type_11*>_>.
          _M_impl._M_finish == local_4c) {
        return;
      }
      pSVar24 = (type_11 *)local_4c->_M_nxt;
      local_4c = local_4c + 1;
      var_5 = pSVar24->symtab_index_;
    } while (var_5 != 0);
  }
LAB_001eeff0:
  ppuVar5 = var_2;
  *(type_4 ***)((int)puVar25 + -8) = var_2 + -0x41bbb;
  *(type_9 *)((int)puVar25 + -0xc) = 0x180;
  *(int *)((int)puVar25 + -0x10) = (int)ppuVar5 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(type_9 *)((int)puVar25 + -0x14) = 0x1ef00e;
  var_3(*(char **)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc),
                      *(char **)((int)puVar25 + -8));
}


(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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) 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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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_004144e8;
  local_90 = *(int **)(DAT_004144e8 + 0xc);
  uStack_84 = uVar4;
  if (local_90 == (int *)0x0) {
LAB_001ef0b3:
    ppuVar11 = local_64;
    *(undefined ***)(puVar17 + -8) = local_64 + -0x41a94;
    *(undefined4 *)(puVar17 + -0xc) = 0x69;
    *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ce;
    FUN_000da200();
  }
  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_001ef186;
    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_001ef186:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../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_0030cc7c);
    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_001ef05c;
        if (*(char *)(iVar18 + 0x1fd) == '\0') {
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x1c);
          if (ppuVar11 != local_64 + -0xdbf94) {
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1eeeb3;
            cVar6 = (*(code *)ppuVar11)();
            uVar4 = uStack_84;
            if (cVar6 != '\0') goto LAB_001ee640;
            if ((*(byte *)(iVar15 + 0x2a) & 7) != 0) goto LAB_001eeec8;
            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 + -0x41bb3;
              *(undefined4 *)(puVar17 + -0xc) = 0x3e;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x47464;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef21b;
              FUN_000da200();
            }
            if (*(int *)(iVar10 + 0x5c) != 1) {
              *(int *)(puVar17 + -0x10) = iVar15;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eee46;
              FUN_000d1730();
              uVar4 = uStack_84;
            }
          }
        }
      }
LAB_001ee640:
      uStack_84._4_4_ = (undefined4)((ulonglong)uVar4 >> 0x20);
      pcVar1 = *(code **)(iVar15 + 0x10);
      if (pcVar1 == (code *)0x0) goto LAB_001eeff0;
      if (local_48 == 0) {
        local_60 = (code *)0xffffffff;
        pcVar7 = pcVar1;
      }
      else {
        local_60 = *(code **)(iVar15 + 0x14);
        if (local_60 == (code *)0x0) goto LAB_001ef00e;
        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_001ef05c;
        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 0x001eedb9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_64 + (int)local_64[-0x41cd2]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001eeade. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_8c)();
            return;
          }
          if (bVar14 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001eecdd. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_64 + (int)local_64[-0x41cd8]))();
            return;
          }
          if (4 < bVar14) goto LAB_001ef02c;
          switch(local_64[uVar8 - 0x41cd7] + (int)local_64) {
          case (undefined *)0x1eeaf0:
            local_50 = 1;
            local_54 = (undefined **)0x0;
            uVar20 = *(undefined8 *)piVar9;
            break;
          case (undefined *)0x1eeb10:
            local_50 = 1;
            local_54 = (undefined **)0xfff1;
            break;
          case (undefined *)0x1eed20:
            local_50 = 1;
            goto code_r0x001ee9c3;
          case (undefined *)0x1eed30:
            local_50 = 1;
            goto code_r0x001ee933;
          case (undefined *)0x1ef128:
code_r0x001ef128:
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41a8e;
            *(undefined4 *)(puVar17 + -0xc) = 0xaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef146;
            FUN_000da200();
          }
          goto LAB_001ee768;
        }
        uVar2 = local_50;
        if ((local_50 == 10) && (uVar2 = 1, *(char *)(iVar10 + 0x19a9) != '\0')) {
          uVar2 = local_50;
        }
        local_50 = uVar2;
        if (4 < bVar14) {
LAB_001ef02c:
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xc9b;
          *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef04a;
          FUN_000da200();
        }
        switch(local_64[uVar8 - 0x41ce6] + (int)local_64) {
        case (undefined *)0x1ee6f0:
          if ((bVar13 & 7) != 0) goto code_r0x001ef128;
          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) = 0x1eed62;
            cVar6 = FUN_001e6ac0();
            if (cVar6 == '\0') {
              ppuStack_88 = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -4) = 0x1eedd0;
              FUN_001e7db0();
              uStack_84._0_4_ = (undefined **)pcStack_34;
              *(undefined ***)(puVar17 + -0x10) = local_64 + -0x41d21;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eedea;
              uVar12 = gettext();
              *(undefined ***)(puVar17 + -8) = ppuStack_88;
              *(undefined ***)(puVar17 + -0xc) = (undefined **)uStack_84;
              *(undefined4 *)(puVar17 + -0x10) = uVar12;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eee01;
              FUN_000d1330();
              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) = 0x1eee1e;
                FUN_00248220();
                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_001eeec8:
              *(undefined ***)(puVar17 + -8) = local_64 + -0x41a96;
              *(undefined4 *)(puVar17 + -0xc) = 0xa1;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar17 + -0x14) = &UNK_001eeee6;
              FUN_000da200();
            }
          }
          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) = 0x1eeb52;
            iVar10 = (*pcVar7)();
            uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
            if (((undefined **)uStack_84 == (undefined **)0x0) || (iVar10 != 0)) goto LAB_001ee990;
            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) = 0x1eeb91;
                cVar6 = FUN_001e6ac0();
                uVar4 = CONCAT44(uStack_84._4_4_,(undefined **)uStack_84);
                uVar20 = CONCAT44(local_58,local_5c);
                if (cVar6 == '\0') goto LAB_001eeb9f;
              }
            }
            else {
LAB_001eeb9f:
              ppuVar11 = *(undefined ***)(*piVar9 + 0x60);
              ppuStack_88 = local_64 + -0xdb9ec;
              if (ppuVar11 == ppuStack_88) {
                ppuVar11 = (undefined **)(piVar9[0xf] - piVar9[0xe] >> 2);
                puVar16 = puVar17;
                if (ppuVar11 <= (undefined **)uStack_84) goto LAB_001ef1e6;
                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) = 0x1eefa1;
                uStack_84._0_4_ = (undefined **)(*(code *)ppuVar11)();
              }
              *(undefined ***)(puVar17 + -8) = local_54;
              *(int **)(puVar17 + -0xc) = piVar9;
              *(int *)(puVar17 + -0x10) = param_1;
              *(undefined4 *)(puVar17 + -0x14) = 0x1eebe4;
              cVar6 = FUN_001e6ec0();
              if (cVar6 == '\0') {
                puVar16 = puVar17;
                if ((undefined **)uStack_84 == (undefined **)0x0) {
                  *(undefined ***)(puVar17 + -4) = local_54;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc59;
                  *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef1bb;
                  FUN_000da200();
                }
              }
              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) = 0x1eef13;
                FUN_000dd700();
                puVar16 = puVar17 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(undefined4 *)(puVar17 + -8) = 0;
                  *(undefined ***)(puVar17 + -0xc) = local_64 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc53;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_001ef162;
                  FUN_000da200();
                }
                ppuVar11 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar11 == ppuStack_88) {
                  ppuVar11 = (undefined **)(piStack_44[0xf] - piStack_44[0xe] >> 2);
                  if (ppuVar11 <= ppuStack_40) {
LAB_001ef1e6:
                    ppuVar5 = local_64;
                    *(undefined ***)(puVar16 + -4) = ppuVar11;
                    *(undefined ***)(puVar16 + -8) = ppuVar5 + -0x41aa9;
                    *(undefined4 *)(puVar16 + -0xc) = 0x5c8;
                    *(undefined ***)(puVar16 + -0x10) = ppuVar5 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar16 + -0x14) = 0x1ef202;
                    FUN_000da200();
                  }
                  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) = 0x1ef051;
                  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 + -0x41bcf;
                  *(undefined4 *)(puVar17 + -0x10) = 0xc57;
                  *(int *)(puVar17 + -0x14) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar17 + -0x18) = &UNK_001eef75;
                  FUN_000da200();
                }
              }
              puVar17 = puVar16;
              ppuVar11 = *(undefined ***)(*(undefined **)uStack_84 + 0x2c);
              if (ppuVar11 == local_64 + -0xcba68) {
                local_54 = (undefined **)((undefined **)uStack_84)[0x18];
                if (local_54 == (undefined **)0xffffffff) {
LAB_001ef21b:
                  ppuVar11 = local_64;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bb7;
                  *(undefined4 *)(puVar17 + -0xc) = 0x1043;
                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef239;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar17 + -0x10) = (undefined **)uStack_84;
                *(undefined4 *)(puVar17 + -0x14) = 0x1eef8c;
                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) = 0x1eec4d;
                  pcStack_34 = pcVar1;
                  FUN_000efc40();
                }
                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) = 0x1eec78;
                  FUN_000efc40();
                  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_001ef05c:
                ppuVar11 = local_64;
                uStack_84 = uVar4;
                *(undefined ***)(puVar17 + -8) = local_64 + -0x41a86;
                *(undefined4 *)(puVar17 + -0xc) = 0x5c;
                *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar17 + -0x14) = 0x1ef077;
                FUN_000da200();
              }
              if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
                if (((uint)((undefined **)uStack_84)[7] & 1) == 0) {
LAB_001ef168:
                  ppuVar11 = local_64;
                  uStack_84 = uVar4;
                  *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7f;
                  *(undefined4 *)(puVar17 + -0xc) = 0xc5;
                  *(undefined ***)(puVar17 + -0x10) = ppuVar11 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar17 + -0x14) = 0x1ef186;
                  FUN_000da200();
                }
                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) = 0x1ee745;
              uVar20 = (*pcVar7)();
            }
            local_54 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar15 + 0x2c) >> 1 & 1) == 0);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1ee930:
          bVar14 = bVar13 & 7;
code_r0x001ee933:
          if (bVar14 != 2) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b8b;
            *(undefined4 *)(puVar17 + -0xc) = 200;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_001eefce;
            FUN_000da200();
          }
          *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(iVar15 + 8);
          *(undefined **)(puVar17 + -0x14) = &UNK_001ee94a;
          piVar9 = (int *)FUN_0015f960();
          uVar20 = CONCAT44(local_58,local_5c);
          uVar4 = uStack_84;
          if (piVar9 == (int *)0x0) goto code_r0x001ee9a8;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x2c);
          if (ppuVar11 == local_64 + -0xcba68) {
            local_54 = (undefined **)piVar9[0x18];
            if (local_54 == (undefined **)0xffffffff) goto LAB_001ef21b;
          }
          else {
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined **)(puVar17 + -0x14) = &UNK_001eed8e;
            local_54 = (undefined **)(*(code *)ppuVar11)();
            uVar20 = CONCAT44(local_58,local_5c);
            uVar4 = uStack_84;
          }
          break;
        case (undefined *)0x1ee990:
LAB_001ee990:
          local_54 = (undefined **)0x0;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1ee9a8:
code_r0x001ee9a8:
          local_54 = (undefined **)0xfff1;
          uVar20 = CONCAT44(local_58,local_5c);
          break;
        case (undefined *)0x1ee9c0:
          bVar14 = bVar13 & 7;
code_r0x001ee9c3:
          if (bVar14 != 1) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41b7d;
            *(undefined4 *)(puVar17 + -0xc) = 0xb5;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar17 + -0x14) = &UNK_001eefee;
            FUN_000da200();
          }
          piVar9 = *(int **)(iVar15 + 8);
          iVar10 = *piVar9;
          *(int **)(puVar17 + -0x10) = piVar9;
          pcVar7 = *(code **)(iVar10 + 0x2c);
          *(undefined **)(puVar17 + -0x14) = &UNK_001ee9d8;
          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_001eea03;
              pcStack_34 = pcVar1;
              ppuStack_30 = local_54;
              FUN_000efc40();
              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_001eea2e;
              uStack_84 = uVar4;
              FUN_000efc40();
              local_54 = (undefined **)0xffff;
              uVar4 = uStack_84;
            }
          }
          uVar20 = CONCAT44(local_58,local_5c);
          if (*(int *)(*local_68 + 8) == 0) goto LAB_001ef05c;
          if (*(char *)(*(int *)(*local_68 + 8) + 0x318d) != '\0') {
            iVar10 = *piVar9;
            *(int **)(puVar17 + -0x10) = piVar9;
            pcVar7 = *(code **)(iVar10 + 0x24);
            *(undefined **)(puVar17 + -0x14) = &UNK_001eea5e;
            uStack_84 = uVar4;
            iVar10 = (*pcVar7)();
            uVar20 = CONCAT44(local_58,local_5c);
            if (iVar10 == 0) {
              *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
              *(undefined4 *)(puVar17 + -0xc) = 0xc81;
              *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef1e6;
              FUN_000da200();
            }
            uVar4 = uStack_84;
            if ((*(byte *)(iVar10 + 0x1c) & 1) == 0) goto LAB_001ef168;
            bVar19 = local_5c < *(undefined **)(iVar10 + 4);
            local_5c = local_5c + -(int)*(undefined **)(iVar10 + 4);
            local_58 = (local_58 - *(int *)(iVar10 + 8)) - (uint)bVar19;
          }
        }
LAB_001ee768:
        uStack_84 = uVar20;
        if (pcVar1 != (code *)0xffffffff) {
          if (local_6c <= (uint)((int)pcVar1 - local_70)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)(puVar17 + -0xc) = 0xca1;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x1ef10a;
            uStack_84 = uVar4;
            FUN_000da200();
          }
          *(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) = 0x1ee7a1;
          FUN_001ec740();
          uVar4 = uStack_84;
        }
        if (local_60 != (code *)0xffffffff) {
          if (local_74 <= (uint)((int)local_60 - local_78)) {
            *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
            *(undefined4 *)(puVar17 + -0xc) = 0xcaa;
            *(int *)(puVar17 + -0x10) = (int)local_64 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar17 + -0x14) = &LAB_001ef0ec;
            uStack_84 = uVar4;
            FUN_000da200();
          }
          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) = 0x1ee7de;
          uStack_84 = uVar4;
          FUN_001ec740();
          piVar9 = *(int **)(*local_68 + 0xc);
          if (piVar9 == (int *)0x0) goto LAB_001ef0b3;
          ppuVar11 = *(undefined ***)(*piVar9 + 0x9c);
          uVar4 = uStack_84;
          if (ppuVar11 != local_64 + -0xdbf70) {
            *(int *)(puVar17 + -8) = iVar10;
            *(int *)(puVar17 + -0xc) = iVar15;
            *(int **)(puVar17 + -0x10) = piVar9;
            *(undefined4 *)(puVar17 + -0x14) = 0x1eeb38;
            (*(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_001ef00e:
          ppuVar11 = local_64;
          uStack_84 = uVar4;
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41b71;
          *(undefined4 *)(puVar17 + -0xc) = 0x19a;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef02c;
          FUN_000da200();
        }
      }
      bVar13 = *(byte *)(iVar15 + 0x2a) & 7;
      uStack_84 = uVar4;
      if (bVar13 == 3) {
        uVar8 = 0xfff1;
      }
      else {
        if (bVar13 != 4) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xccb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef095;
          FUN_000da200();
        }
        uVar8 = 0;
      }
      if (iVar10 != -1) {
        if (local_6c <= (uint)(iVar10 - local_70)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xcd1;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)(puVar17 + -0x14) = 0x1ef0b3;
          FUN_000da200();
        }
        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) = 0x1ee88f;
        FUN_001ec740();
        uVar8 = local_50;
      }
      ppuVar11 = local_64;
      uVar4 = uStack_84;
      if (iVar18 != -1) {
        if (local_74 <= (uint)(iVar18 - local_78)) {
          *(undefined ***)(puVar17 + -8) = local_64 + -0x41bcf;
          *(undefined4 *)(puVar17 + -0xc) = 0xcdb;
          *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined **)(puVar17 + -0x14) = &UNK_001ef128;
          FUN_000da200();
        }
        *(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) = 0x1ee8cc;
        FUN_001ec740();
        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_001eeff0:
  ppuVar11 = local_64;
  uStack_84 = uVar4;
  *(undefined ***)(puVar17 + -8) = local_64 + -0x41bbb;
  *(undefined4 *)(puVar17 + -0xc) = 0x180;
  *(int *)(puVar17 + -0x10) = (int)ppuVar11 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar17 + -0x14) = 0x1ef00e;
  FUN_000da200();
}

