
/* 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<32, false>
   DWARF original prototype: void sized_write_globals<32,_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<32,_false>
          (Symbol_table *this,Stringpool *sympool,Stringpool *dynpool,
          Output_symtab_xindex *symtab_xindex,Output_symtab_xindex *dynsym_xindex,Output_file *of)

{
  uchar *puVar1;
  General_options *pGVar2;
  Target *pTVar3;
  undefined **ppuVar4;
  _Hash_node_base *p_Var5;
  _func_int_varargs **pp_Var6;
  _func_int_varargs *p_Var7;
  int *piVar8;
  code *pcVar9;
  int iVar10;
  int iVar11;
  _Hash_node_base **pp_Var12;
  Symbol *pSVar13;
  bool bVar14;
  char cVar15;
  uint uVar16;
  _Hash_node_base *p_Var17;
  uint uVar18;
  Output_section *pOVar19;
  _Hash_node_base *p_Var20;
  undefined4 uVar21;
  byte bVar22;
  byte bVar23;
  uint uVar24;
  int iVar25;
  uint *puVar26;
  uint *puVar27;
  pointer ppSVar28;
  uint auStack_a4 [2];
  uint auStack_90 [2];
  Target *local_88;
  code *local_84;
  _Hash_node_base *local_80;
  _Hash_node_base *local_7c;
  uchar *local_78;
  uint local_74;
  uint local_70;
  uint local_6c;
  uint local_68;
  Parameters **local_64;
  undefined **local_60;
  _Hash_node_base *local_5c;
  _Hash_node_base *local_58;
  _Hash_node_base *local_54;
  uint local_50;
  uchar *local_4c;
  Symbol *local_48;
  int *local_44;
  uint local_40;
  _Hash_node_base *local_34;
  _Hash_node_base *local_30;
  _Hash_node_base local_2c [7];
  
  puVar26 = auStack_90 + 1;
  local_60 = &_GLOBAL_OFFSET_TABLE_;
  local_64 = &parameters;
  local_88 = parameters->target_;
  if (parameters->target_ == (Target *)0x0) {
LAB_001ed672:
    ppuVar4 = local_60;
    puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94);
    puVar26[0xfffffffd] = 0x69;
    puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    puVar26[0xfffffffb] = 0x1ed68d;
    do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])
    ;
  }
  local_68 = this->output_count_;
  local_6c = this->first_global_index_;
  iVar25 = *(int *)((int)&this->offset_ + 4);
  uVar18 = (uint)this->offset_;
  if ((local_68 == 0) || (uVar18 == 0 && iVar25 == 0)) {
    local_78 = (uchar *)0x0;
  }
  else {
    if ((iVar25 < 0) ||
       (iVar10 = *(int *)((int)&of->file_size_ + 4),
       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),
       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,
       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))
    goto LAB_001ed746;
    local_78 = of->base_ + uVar18;
  }
  local_70 = this->dynamic_count_;
  local_74 = this->first_dynamic_global_index_;
  iVar25 = *(int *)((int)&this->dynamic_offset_ + 4);
  uVar18 = (uint)this->dynamic_offset_;
  if ((local_70 == 0) || (uVar18 == 0 && iVar25 == 0)) {
    local_4c = (uchar *)0x0;
  }
  else {
    if ((iVar25 < 0) ||
       (iVar10 = *(int *)((int)&of->file_size_ + 4),
       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),
       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,
       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {
LAB_001ed746:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
    }
    local_4c = of->base_ + uVar18;
  }
  local_48 = (Symbol *)(this->table_)._M_h._M_before_begin._M_nxt;
  puVar26 = auStack_90 + 1;
  if (local_48 != (Symbol *)0x0) {
    local_84 = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4);
    puVar26 = auStack_90 + 1;
    do {
      uVar18 = (local_48->u2_).shndx;
      if (((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&
           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&
          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)) {
        pGVar2 = (*local_64)->options_;
        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;
        if ((pGVar2->allow_shlib_undefined_).value == false) {
          pTVar3 = (*local_64)->target_;
          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;
          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];
          if (ppuVar4 != local_60 + -0xdbf94) {
            puVar26[-3] = uVar18;
            puVar26[-4] = (uint)pTVar3;
            puVar26[-5] = 0x1ed477;
            cVar15 = (*(code *)ppuVar4)();
            if (cVar15 != '\0') goto LAB_001ecc58;
            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;
            iVar25 = *(int *)(uVar18 + 8);
          }
          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {
            if (*(int *)(iVar25 + 0x5c) == 0) {
              puVar26[-1] = 0;
              puVar26[-2] = (uint)(local_60 + -0x41bb3);
              puVar26[-3] = 0x3e;
              puVar26[-4] = (uint)(local_60 + -0x47464);
                    /* WARNING: Subroutine does not return */
              puVar26[-5] = 0x1ed7db;
              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
            }
            if (*(int *)(iVar25 + 0x5c) != 1) {
              puVar26[-4] = uVar18;
              puVar26[-5] = 0x1ed410;
              gold_undefined_symbol((Symbol *)puVar26[-4]);
            }
          }
        }
      }
LAB_001ecc58:
      p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);
      if (p_Var5 == (_Hash_node_base *)0x0) goto LAB_001ed5b0;
      if (local_4c == (uchar *)0x0) {
        local_5c = (_Hash_node_base *)0xffffffff;
        p_Var17 = p_Var5;
      }
      else {
        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);
        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;
        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);
      }
      if (p_Var17 != (_Hash_node_base *)0xffffffff) {
        local_54 = *(_Hash_node_base **)(uVar18 + 0x30);
        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);
        pGVar2 = (*local_64)->options_;
        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;
        bVar23 = *(byte *)(uVar18 + 0x2a);
        uVar16 = bVar23 & 7;
        bVar22 = (byte)uVar16;
        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {
          if (bVar22 == 0) {
            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);
            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))
            {
                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_84)();
            return;
          }
          if (bVar22 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();
            return;
          }
          if (4 < bVar22) goto LAB_001ed5ec;
          p_Var17 = local_54;
          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {
          case (undefined *)0x1ed0f0:
            local_50 = 1;
            local_58 = (_Hash_node_base *)0x0;
            break;
          case (undefined *)0x1ed110:
            local_50 = 1;
            local_58 = (_Hash_node_base *)0xfff1;
            break;
          case (undefined *)0x1ed300:
            local_50 = 1;
            goto LAB_001ecfc3;
          case (undefined *)0x1ed310:
            local_50 = 1;
            goto LAB_001ecf43;
          case (undefined *)0x1ed6e7:
_L1320:
            puVar26[-2] = (uint)(local_60 + -0x41a8e);
            puVar26[-3] = 0xaa;
            puVar26[-4] = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0x1ed705;
            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          goto LAB_001ecd70;
        }
        if (local_50 == 10) {
          uVar24 = 1;
          if ((pGVar2->gnu_unique_).value != false) {
            uVar24 = local_50;
          }
          local_50 = uVar24;
        }
        if (4 < bVar22) {
LAB_001ed5ec:
          puVar26[-2] = (uint)(local_60 + -0x41ba8);
          puVar26[-3] = 0xc9b;
          puVar26[-4] = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[-5] = 0x1ed60a;
          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
        }
        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {
        case (undefined *)0x1ecd00:
          if ((bVar23 & 7) != 0) goto _L1320;
          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);
          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;
          bVar23 = bVar22 & 1;
          p_Var17 = local_58;
          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {
            local_7c = local_58;
            puVar26[-4] = (uint)local_58;
            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);
            puVar26[-5] = 0x1ed33f;
            bVar14 = Symbol::is_common_shndx(puVar26[-4]);
            if (!bVar14) {
              local_80 = local_7c;
              puVar26[-1] = 0x1ed39d;
              demangle((string *)*puVar26,(char *)puVar26[1]);
              local_7c = local_34;
              puVar26[-4] = (uint)(local_60 + -0x41d21);
              puVar26[-5] = 0x1ed3b7;
              uVar21 = gettext();
              puVar26[-2] = (uint)local_80;
              puVar26[-3] = (uint)local_7c;
              puVar26[-4] = uVar21;
                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */
              puVar26[-5] = 0x1ed3cb;
              gold_error((char *)puVar26[-4]);
              p_Var17 = local_54;
              if (local_34 != local_2c) {
                puVar26[-4] = (uint)local_34;
                puVar26[-5] = 0x1ed3e8;
                operator_delete((void *)puVar26[-4]);
                p_Var17 = local_54;
              }
              break;
            }
            p_Var17 = local_7c;
            bVar23 = (byte)local_80;
            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {
LAB_001ed48c:
              puVar26[-2] = (uint)(local_60 + -0x41a96);
              puVar26[-3] = 0xa1;
              puVar26[-4] = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              puVar26[-5] = (uint)&UNK_001ed4aa;
              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
            }
          }
          piVar8 = *(int **)(uVar18 + 8);
          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {
            iVar25 = *piVar8;
            puVar26[-4] = (uint)piVar8;
            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);
            pcVar9 = *(code **)(iVar25 + 0x14);
            puVar26[-5] = 0x1ed14f;
            local_7c = p_Var17;
            iVar25 = (*pcVar9)();
            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;
            if ((byte)local_80 == '\0') {
              p_Var17 = local_54;
              if (local_7c != (_Hash_node_base *)0xfff1) {
                puVar26[-4] = (uint)local_7c;
                puVar26[-5] = 0x1ed188;
                bVar14 = Symbol::is_common_shndx(puVar26[-4]);
                p_Var17 = local_54;
                if (!bVar14) goto LAB_001ed196;
              }
            }
            else {
LAB_001ed196:
              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);
              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);
              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {
                puVar27 = puVar26;
                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)
                goto LAB_001ed7a6;
                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);
                local_58 = local_7c;
              }
              else {
                local_58 = local_7c;
                puVar26[-3] = (uint)local_7c;
                puVar26[-4] = (uint)piVar8;
                puVar26[-5] = 0x1ed55d;
                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();
              }
              local_7c = p_Var17;
              puVar26[-2] = (uint)local_58;
              puVar26[-3] = (uint)piVar8;
              puVar26[-4] = (uint)this;
              puVar26[-5] = 0x1ed1d8;
              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],
                                         puVar26[-2]);
              ppuVar4 = local_60;
              if (bVar14) {
                puVar26[-1] = (uint)local_58;
                puVar26[-2] = (uint)piVar8;
                puVar26[-3] = (uint)this->icf_;
                puVar26[-4] = (uint)&local_44;
                puVar26[-5] = 0x1ed4d3;
                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);
                puVar27 = puVar26 + -1;
                if (local_44 == (int *)0x0) {
                  puVar26[-2] = uVar18;
                  puVar26[-3] = (uint)(local_60 + -0x41ba8);
                  puVar26[-4] = 0xc53;
                  puVar26[-5] = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-6] = (uint)&UNK_001ed721;
                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
                }
                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);
                if (p_Var17 == local_80) {
                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {
LAB_001ed7a6:
                    ppuVar4 = local_60;
                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;
                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;
                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;
                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;
                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),
                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))
                    ;
                  }
                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);
                }
                else {
                  puVar26[-4] = local_40;
                  puVar26[-5] = (uint)local_44;
                  puVar26[-6] = 0x1ed611;
                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();
                }
                puVar27 = puVar26 + -1;
                if (p_Var20 == (_Hash_node_base *)0x0) {
                  puVar26[-2] = (uint)ppuVar4;
                  puVar26[-3] = (uint)(local_60 + -0x41ba8);
                  puVar26[-4] = 0xc57;
                  puVar26[-5] = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-6] = (uint)&UNK_001ed52c;
                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
                }
              }
              else {
                p_Var20 = local_7c;
                puVar27 = puVar26;
                if (local_7c == (_Hash_node_base *)0x0) {
                  puVar26[-1] = (uint)local_58;
                  puVar26[-2] = (uint)(local_60 + -0x41ba8);
                  puVar26[-3] = 0xc59;
                  puVar26[-4] = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-5] = 0x1ed77b;
                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
                }
              }
              puVar26 = puVar27;
              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;
              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {
                local_58 = p_Var20[0x18]._M_nxt;
                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {
LAB_001ed7db:
                  ppuVar4 = local_60;
                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;
                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;
                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;
                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)
                                      ,*(char **)((int)puVar26 + -8));
                }
              }
              else {
                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;
                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;
                local_7c = p_Var20;
                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();
                p_Var20 = local_7c;
              }
              if ((_Hash_node_base *)0xfeff < local_58) {
                if (p_Var5 != (_Hash_node_base *)0xffffffff) {
                  local_30 = local_58;
                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;
                  local_7c = p_Var20;
                  local_34 = p_Var5;
                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;
                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;
                  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)puVar26 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));
                  p_Var20 = local_7c;
                }
                if (local_5c == (_Hash_node_base *)0xffffffff) {
                  local_58 = (_Hash_node_base *)0xffff;
                }
                else {
                  local_34 = local_5c;
                  local_7c = p_Var20;
                  local_30 = local_58;
                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;
                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;
                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;
                  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)puVar26 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));
                  local_58 = (_Hash_node_base *)0xffff;
                  p_Var20 = local_7c;
                }
              }
              if ((*local_64)->options_ == (General_options *)0x0) {
LAB_001ed61b:
                ppuVar4 = local_60;
                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;
                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;
                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;
                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                    *(char **)((int)puVar26 + -8));
              }
              p_Var17 = local_54;
              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;
            }
          }
          else {
            p_Var17 = local_54;
            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {
              pp_Var6 = local_88->_vptr_Target;
              puVar26[-3] = uVar18;
              puVar26[-4] = (uint)local_88;
              p_Var7 = pp_Var6[5];
              puVar26[-5] = 0x1ecd52;
              p_Var17 = (_Hash_node_base *)(*p_Var7)();
            }
            local_58 = (_Hash_node_base *)0x0;
            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);
          }
          break;
        case (undefined *)0x1ecf40:
          bVar22 = bVar23 & 7;
LAB_001ecf43:
          if (bVar22 != 2) {
            puVar26[-2] = (uint)(local_60 + -0x41b8b);
            puVar26[-3] = 200;
            puVar26[-4] = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = (uint)&UNK_001ed58e;
            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          puVar26[-4] = *(undefined4 *)(uVar18 + 8);
          puVar26[-5] = 0x1ecf5a;
          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);
          if (pOVar19 == (Output_section *)0x0) goto _L1392;
          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];
          if (ppuVar4 == local_60 + -0xcba68) {
            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;
            p_Var17 = local_54;
            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)
            goto LAB_001ed7db;
          }
          else {
            puVar26[-4] = (uint)pOVar19;
            puVar26[-5] = 0x1ed366;
            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();
            p_Var17 = local_54;
          }
          break;
        case (undefined *)0x1ecfa0:
_L1385:
          local_58 = (_Hash_node_base *)0x0;
          p_Var17 = local_54;
          break;
        case (undefined *)0x1ecfb0:
_L1392:
          local_58 = (_Hash_node_base *)0xfff1;
          p_Var17 = local_54;
          break;
        case (undefined *)0x1ecfc0:
          bVar22 = bVar23 & 7;
LAB_001ecfc3:
          if (bVar22 != 1) {
            puVar26[-2] = (uint)(local_60 + -0x41b7d);
            puVar26[-3] = 0xb5;
            puVar26[-4] = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = (uint)&UNK_001ed5ae;
            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          piVar8 = *(int **)(uVar18 + 8);
          iVar25 = *piVar8;
          puVar26[-4] = (uint)piVar8;
          pcVar9 = *(code **)(iVar25 + 0x2c);
          puVar26[-5] = 0x1ecfd8;
          local_58 = (_Hash_node_base *)(*pcVar9)();
          if ((_Hash_node_base *)0xfeff < local_58) {
            if (p_Var5 != (_Hash_node_base *)0xffffffff) {
              local_30 = local_58;
              puVar26[-3] = (uint)&local_34;
              local_34 = p_Var5;
              puVar26[-4] = (uint)&symtab_xindex->entries_;
              puVar26[-5] = 0x1ed003;
              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>_>_>
                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);
            }
            if (local_5c == (_Hash_node_base *)0xffffffff) {
              local_58 = (_Hash_node_base *)0xffff;
            }
            else {
              local_34 = local_5c;
              local_30 = local_58;
              puVar26[-3] = (uint)&local_34;
              puVar26[-4] = (uint)&dynsym_xindex->entries_;
              puVar26[-5] = 0x1ed02e;
              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>_>_>
                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);
              local_58 = (_Hash_node_base *)0xffff;
            }
          }
          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;
          p_Var17 = local_54;
          if (((*local_64)->options_->relocatable_).value == false) break;
          iVar25 = *piVar8;
          puVar26[-4] = (uint)piVar8;
          pcVar9 = *(code **)(iVar25 + 0x24);
          puVar26[-5] = 0x1ed05e;
          p_Var20 = (_Hash_node_base *)(*pcVar9)();
          if (p_Var20 == (_Hash_node_base *)0x0) {
            puVar26[-2] = (uint)(local_60 + -0x41ba8);
            puVar26[-3] = 0xc81;
            puVar26[-4] = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0x1ed7a6;
            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
LAB_001ed06b:
          p_Var17 = local_54;
          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {
            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;
            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;
            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;
            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);
        }
LAB_001ecd70:
        if (p_Var5 != (_Hash_node_base *)0xffffffff) {
          if (local_68 <= (int)p_Var5 - local_6c) {
            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;
            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;
            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          local_7c = p_Var17;
          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;
          *(Stringpool **)((int)puVar26 + -0xc) = sympool;
          *(uint *)((int)puVar26 + -0x10) = local_50;
          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;
          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;
          *(uint *)((int)puVar26 + -0x1c) = uVar18;
          *(Symbol_table **)((int)puVar26 + -0x20) = this;
          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;
          sized_write_symbol<32,_false>
                    (*(Symbol_table **)((int)puVar26 + -0x20),
                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),
                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),
                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),
                     *(uchar **)((int)puVar26 + -8));
          p_Var17 = local_7c;
        }
        if (local_5c != (_Hash_node_base *)0xffffffff) {
          if (local_70 <= (int)local_5c - local_74) {
            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;
            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;
            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;
          *(uchar **)((int)puVar26 + -8) = puVar1;
          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;
          *(uint *)((int)puVar26 + -0x10) = local_50;
          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;
          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;
          *(uint *)((int)puVar26 + -0x1c) = uVar18;
          *(Symbol_table **)((int)puVar26 + -0x20) = this;
          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;
          sized_write_symbol<32,_false>
                    (*(Symbol_table **)((int)puVar26 + -0x20),
                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),
                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),
                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),
                     *(uchar **)((int)puVar26 + -8));
          pTVar3 = (*local_64)->target_;
          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;
          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];
          if (ppuVar4 != local_60 + -0xdbf70) {
            *(uchar **)((int)puVar26 + -8) = puVar1;
            *(uint *)((int)puVar26 + -0xc) = uVar18;
            *(Target **)((int)puVar26 + -0x10) = pTVar3;
            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;
            (*(code *)ppuVar4)();
          }
        }
      }
      pp_Var12 = (_Hash_node_base **)&local_48->name_;
      local_48 = (Symbol *)*pp_Var12;
    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);
  }
  ppSVar28 = (this->target_symbols_).
             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;
  if (ppSVar28 ==
      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
      _M_impl._M_finish) {
    return;
  }
  uVar18 = (*ppSVar28)->symtab_index_;
  if (uVar18 != 0) {
    local_48 = *ppSVar28;
    do {
      pSVar13 = local_48;
      ppuVar4 = local_60;
      ppSVar28 = ppSVar28 + 1;
      if (local_4c == (uchar *)0x0) {
        uVar16 = 0xffffffff;
      }
      else {
        uVar16 = local_48->dynsym_index_;
        if (uVar16 == 0) {
LAB_001ed5ce:
          ppuVar4 = local_60;
          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;
          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;
          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;
          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                              *(char **)((int)puVar26 + -8));
        }
      }
      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);
      bVar23 = local_48->field_0x2a & 7;
      if (bVar23 == 3) {
        uVar24 = 0xfff1;
      }
      else {
        if (bVar23 != 4) {
          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);
          puVar26[0xfffffffd] = 0xccb;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed654;
          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        uVar24 = 0;
      }
      if (uVar18 != 0xffffffff) {
        if (local_68 <= uVar18 - local_6c) {
          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);
          puVar26[0xfffffffd] = 0xcd1;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed672;
          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);
        bVar23 = pSVar13->field_0x28;
        puVar26[0xfffffffd] = (uint)sympool;
        local_50 = uVar24;
        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);
        puVar26[0xfffffffb] = uVar24;
        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;
        puVar26[0xfffffff9] = (uint)pSVar13;
        puVar26[0xfffffff8] = (uint)this;
        puVar26[0xfffffff7] = 0x1ece97;
        sized_write_symbol<32,_false>
                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],
                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],
                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);
        uVar24 = local_50;
      }
      ppuVar4 = local_60;
      if (uVar16 != 0xffffffff) {
        if (local_70 <= uVar16 - local_74) {
          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);
          puVar26[0xfffffffd] = 0xcdb;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed6e7;
          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);
        pSVar13 = local_48;
        puVar26[0xfffffffd] = (uint)dynpool;
        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);
        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);
        puVar26[0xfffffffb] = uVar24;
        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;
        puVar26[0xfffffff9] = (uint)pSVar13;
        puVar26[0xfffffff8] = (uint)this;
        puVar26[0xfffffff7] = 0x1eced7;
        sized_write_symbol<32,_false>
                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],
                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],
                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);
      }
      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
          _M_impl._M_finish == ppSVar28) {
        return;
      }
      local_48 = *ppSVar28;
      uVar18 = (*ppSVar28)->symtab_index_;
    } while (uVar18 != 0);
  }
LAB_001ed5b0:
  ppuVar4 = local_60;
  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;
  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;
  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;
  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                      *(char **)((int)puVar26 + -8));
}



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

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

{
  uint uVar1;
  int iVar2;
  undefined **ppuVar3;
  code *pcVar4;
  char cVar5;
  uint uVar6;
  undefined **ppuVar7;
  int *piVar8;
  undefined **ppuVar9;
  undefined4 uVar10;
  byte bVar11;
  uint in_ECX;
  byte bVar12;
  int iVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined4 *puVar17;
  int aiStackY_a4 [2];
  undefined1 auStack_8c [4];
  int *local_88;
  code *local_84;
  undefined **ppuStack_80;
  undefined **ppuStack_7c;
  int local_78;
  int local_74;
  uint local_70;
  int local_6c;
  uint local_68;
  int *local_64;
  undefined **local_60;
  undefined **local_5c;
  undefined **local_58;
  undefined **local_54;
  uint local_50;
  int local_4c;
  int *local_48;
  int *piStack_44;
  uint uStack_40;
  undefined **ppuStack_34;
  undefined **ppuStack_30;
  undefined *apuStack_2c [7];
  
  local_60 = &__DT_PLTGOT;
  puVar16 = auStack_8c;
  local_64 = &DAT_004144e8;
  local_88 = *(int **)(DAT_004144e8 + 0xc);
  if (local_88 == (int *)0x0) {
LAB_001ed672:
    ppuVar3 = local_60;
    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;
    *(undefined4 *)(puVar16 + -0xc) = 0x69;
    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;
    FUN_000da200();
  }
  local_6c = *(int *)(param_1 + 4);
  local_68 = *(uint *)(param_1 + 0x10);
  uVar6 = *(uint *)(param_1 + 0xc);
  uVar1 = *(uint *)(param_1 + 8);
  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {
    local_78 = 0;
  }
  else {
    if (((int)uVar6 < 0) ||
       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),
       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),
       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))
    goto LAB_001ed746;
    local_78 = *(int *)(param_6 + 0x10) + uVar1;
  }
  local_74 = *(int *)(param_1 + 0x1c);
  local_70 = *(uint *)(param_1 + 0x20);
  iVar13 = *(int *)(param_1 + 0x18);
  uVar6 = *(uint *)(param_1 + 0x14);
  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {
    local_4c = 0;
  }
  else {
    if ((iVar13 < 0) ||
       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),
       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),
       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {
LAB_001ed746:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);
    }
    local_4c = *(int *)(param_6 + 0x10) + uVar6;
  }
  local_48 = *(int **)(param_1 + 0x2c);
  puVar16 = auStack_8c;
  if (local_48 != (int *)0x0) {
    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);
    puVar16 = auStack_8c;
    do {
      iVar13 = local_48[3];
      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&
           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&
          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {
        iVar2 = *(int *)(*local_64 + 8);
        if (iVar2 == 0) goto LAB_001ed61b;
        if (*(char *)(iVar2 + 0x1fd) == '\0') {
          piVar8 = *(int **)(*local_64 + 0xc);
          if (piVar8 == (int *)0x0) goto LAB_001ed672;
          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);
          if (ppuVar3 != local_60 + -0xdbf94) {
            *(int *)(puVar16 + -0xc) = iVar13;
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;
            cVar5 = (*(code *)ppuVar3)();
            if (cVar5 != '\0') goto LAB_001ecc58;
            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;
            iVar14 = *(int *)(iVar13 + 8);
          }
          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {
            if (*(int *)(iVar14 + 0x5c) == 0) {
              *(undefined4 *)(puVar16 + -4) = 0;
              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;
              *(undefined4 *)(puVar16 + -0xc) = 0x3e;
              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;
              FUN_000da200();
            }
            if (*(int *)(iVar14 + 0x5c) != 1) {
              *(int *)(puVar16 + -0x10) = iVar13;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;
              FUN_000d1730();
            }
          }
        }
      }
LAB_001ecc58:
      ppuVar3 = *(undefined ***)(iVar13 + 0x10);
      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;
      if (local_4c == 0) {
        local_5c = (undefined **)0xffffffff;
        ppuVar7 = ppuVar3;
      }
      else {
        local_5c = *(undefined ***)(iVar13 + 0x14);
        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;
        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);
      }
      if (ppuVar7 != (undefined **)0xffffffff) {
        local_54 = *(undefined ***)(iVar13 + 0x30);
        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);
        iVar14 = *(int *)(*local_64 + 8);
        if (iVar14 == 0) goto LAB_001ed61b;
        bVar12 = *(byte *)(iVar13 + 0x2a);
        uVar6 = bVar12 & 7;
        bVar11 = (byte)uVar6;
        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {
          if (bVar11 == 0) {
            local_58 = *(undefined ***)(iVar13 + 0xc);
            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_84)();
            return;
          }
          if (bVar11 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();
            return;
          }
          if (4 < bVar11) goto LAB_001ed5ec;
          ppuVar7 = local_54;
          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {
          case (undefined *)0x1ed0f0:
            local_50 = 1;
            local_58 = (undefined **)0x0;
            break;
          case (undefined *)0x1ed110:
            local_50 = 1;
            local_58 = (undefined **)0xfff1;
            break;
          case (undefined *)0x1ed300:
            local_50 = 1;
            goto code_r0x001ecfc3;
          case (undefined *)0x1ed310:
            local_50 = 1;
            goto code_r0x001ecf43;
          case (undefined *)0x1ed6e7:
code_r0x001ed6e7:
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;
            *(undefined4 *)(puVar16 + -0xc) = 0xaa;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;
            FUN_000da200();
          }
          goto LAB_001ecd70;
        }
        uVar1 = local_50;
        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {
          uVar1 = local_50;
        }
        local_50 = uVar1;
        if (4 < bVar11) {
LAB_001ed5ec:
          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;
          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;
          FUN_000da200();
        }
        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {
        case (undefined *)0x1ecd00:
          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;
          local_58 = *(undefined ***)(iVar13 + 0xc);
          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;
          bVar12 = bVar11 & 1;
          ppuVar7 = local_58;
          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {
            *(undefined ***)(puVar16 + -0x10) = local_58;
            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;
            ppuStack_7c = local_58;
            cVar5 = FUN_001e6ac0();
            if (cVar5 == '\0') {
              ppuStack_80 = ppuStack_7c;
              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;
              FUN_001e7db0();
              ppuStack_7c = ppuStack_34;
              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;
              uVar10 = gettext();
              *(undefined ***)(puVar16 + -8) = ppuStack_80;
              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;
              *(undefined4 *)(puVar16 + -0x10) = uVar10;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;
              FUN_000d1330();
              ppuVar7 = local_54;
              if (ppuStack_34 != apuStack_2c) {
                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;
                FUN_00248220();
                ppuVar7 = local_54;
              }
              break;
            }
            ppuVar7 = ppuStack_7c;
            bVar12 = (byte)ppuStack_80;
            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {
LAB_001ed48c:
              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;
              *(undefined4 *)(puVar16 + -0xc) = 0xa1;
              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;
              FUN_000da200();
            }
          }
          piVar8 = *(int **)(iVar13 + 8);
          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {
            iVar14 = *piVar8;
            *(int **)(puVar16 + -0x10) = piVar8;
            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);
            pcVar4 = *(code **)(iVar14 + 0x14);
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;
            ppuStack_7c = ppuVar7;
            iVar14 = (*pcVar4)();
            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;
            if ((byte)ppuStack_80 == '\0') {
              ppuVar7 = local_54;
              if (ppuStack_7c != (undefined **)0xfff1) {
                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;
                cVar5 = FUN_001e6ac0();
                ppuVar7 = local_54;
                if (cVar5 == '\0') goto LAB_001ed196;
              }
            }
            else {
LAB_001ed196:
              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);
              ppuStack_80 = local_60 + -0xdb9ec;
              if (ppuVar7 == ppuStack_80) {
                puVar15 = puVar16;
                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)
                goto LAB_001ed7a6;
                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);
              }
              else {
                local_58 = ppuStack_7c;
                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;
                *(int **)(puVar16 + -0x10) = piVar8;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;
                ppuVar7 = (undefined **)(*(code *)ppuVar7)();
                ppuStack_7c = local_58;
              }
              *(undefined ***)(puVar16 + -8) = ppuStack_7c;
              *(int **)(puVar16 + -0xc) = piVar8;
              *(int *)(puVar16 + -0x10) = param_1;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;
              local_58 = ppuStack_7c;
              ppuStack_7c = ppuVar7;
              cVar5 = FUN_001e6ec0();
              ppuVar7 = local_60;
              if (cVar5 == '\0') {
                ppuVar9 = ppuStack_7c;
                puVar15 = puVar16;
                if (ppuStack_7c == (undefined **)0x0) {
                  *(undefined ***)(puVar16 + -4) = local_58;
                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;
                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar16 + -4) = local_58;
                *(int **)(puVar16 + -8) = piVar8;
                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);
                *(int ***)(puVar16 + -0x10) = &piStack_44;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;
                FUN_000dd700();
                puVar15 = puVar16 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(int *)(puVar16 + -8) = iVar13;
                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;
                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;
                  FUN_000da200();
                }
                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar9 == ppuStack_80) {
                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {
LAB_001ed7a6:
                    ppuVar7 = local_60;
                    *(undefined ***)(puVar15 + -4) = ppuVar3;
                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;
                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;
                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;
                    FUN_000da200();
                  }
                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);
                }
                else {
                  *(uint *)(puVar16 + -0x10) = uStack_40;
                  *(int **)(puVar16 + -0x14) = piStack_44;
                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;
                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();
                }
                puVar15 = puVar16 + -4;
                if (ppuVar9 == (undefined **)0x0) {
                  *(undefined ***)(puVar16 + -8) = ppuVar7;
                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;
                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;
                  FUN_000da200();
                }
              }
              puVar16 = puVar15;
              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);
              if (ppuVar7 == local_60 + -0xcba68) {
                local_58 = (undefined **)ppuVar9[0x18];
                if (local_58 == (undefined **)0xffffffff) {
LAB_001ed7db:
                  ppuVar3 = local_60;
                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;
                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;
                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar16 + -0x10) = ppuVar9;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;
                ppuStack_7c = ppuVar9;
                local_58 = (undefined **)(*(code *)ppuVar7)();
                ppuVar9 = ppuStack_7c;
              }
              if ((undefined **)0xfeff < local_58) {
                if (ppuVar3 != (undefined **)0xffffffff) {
                  ppuStack_30 = local_58;
                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;
                  ppuStack_7c = ppuVar9;
                  ppuStack_34 = ppuVar3;
                  FUN_000efc40();
                  ppuVar9 = ppuStack_7c;
                }
                if (local_5c == (undefined **)0xffffffff) {
                  local_58 = (undefined **)0xffff;
                }
                else {
                  ppuStack_34 = local_5c;
                  ppuStack_30 = local_58;
                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;
                  ppuStack_7c = ppuVar9;
                  FUN_000efc40();
                  local_58 = (undefined **)0xffff;
                  ppuVar9 = ppuStack_7c;
                }
              }
              if (*(int *)(*local_64 + 8) == 0) {
LAB_001ed61b:
                ppuVar3 = local_60;
                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;
                *(undefined4 *)(puVar16 + -0xc) = 0x5c;
                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;
                FUN_000da200();
              }
              ppuVar7 = local_54;
              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;
            }
          }
          else {
            ppuVar7 = local_54;
            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {
              iVar14 = *local_88;
              *(int *)(puVar16 + -0xc) = iVar13;
              *(int **)(puVar16 + -0x10) = local_88;
              pcVar4 = *(code **)(iVar14 + 0x14);
              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;
              ppuVar7 = (undefined **)(*pcVar4)();
            }
            local_58 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);
          }
          break;
        case (undefined *)0x1ecf40:
          bVar11 = bVar12 & 7;
code_r0x001ecf43:
          if (bVar11 != 2) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;
            *(undefined4 *)(puVar16 + -0xc) = 200;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;
            FUN_000da200();
          }
          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;
          piVar8 = (int *)FUN_0015f960();
          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;
          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);
          if (ppuVar7 == local_60 + -0xcba68) {
            local_58 = (undefined **)piVar8[0x18];
            ppuVar7 = local_54;
            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;
          }
          else {
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;
            local_58 = (undefined **)(*(code *)ppuVar7)();
            ppuVar7 = local_54;
          }
          break;
        case (undefined *)0x1ecfa0:
LAB_001ecfa0:
          local_58 = (undefined **)0x0;
          ppuVar7 = local_54;
          break;
        case (undefined *)0x1ecfb0:
code_r0x001ecfb0:
          local_58 = (undefined **)0xfff1;
          ppuVar7 = local_54;
          break;
        case (undefined *)0x1ecfc0:
          bVar11 = bVar12 & 7;
code_r0x001ecfc3:
          if (bVar11 != 1) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;
            *(undefined4 *)(puVar16 + -0xc) = 0xb5;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;
            FUN_000da200();
          }
          piVar8 = *(int **)(iVar13 + 8);
          iVar14 = *piVar8;
          *(int **)(puVar16 + -0x10) = piVar8;
          pcVar4 = *(code **)(iVar14 + 0x2c);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;
          local_58 = (undefined **)(*pcVar4)();
          if ((undefined **)0xfeff < local_58) {
            if (ppuVar3 != (undefined **)0xffffffff) {
              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;
              ppuStack_34 = ppuVar3;
              ppuStack_30 = local_58;
              FUN_000efc40();
            }
            if (local_5c == (undefined **)0xffffffff) {
              local_58 = (undefined **)0xffff;
            }
            else {
              ppuStack_34 = local_5c;
              ppuStack_30 = local_58;
              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;
              FUN_000efc40();
              local_58 = (undefined **)0xffff;
            }
          }
          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;
          ppuVar7 = local_54;
          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;
          iVar14 = *piVar8;
          *(int **)(puVar16 + -0x10) = piVar8;
          pcVar4 = *(code **)(iVar14 + 0x24);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;
          ppuVar9 = (undefined **)(*pcVar4)();
          if (ppuVar9 == (undefined **)0x0) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xc81;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;
            FUN_000da200();
          }
LAB_001ed06b:
          if (((uint)ppuVar9[7] & 1) == 0) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;
            *(undefined4 *)(puVar16 + -0xc) = 0xc5;
            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;
            FUN_000da200();
          }
          ppuVar7 = local_54;
          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);
        }
LAB_001ecd70:
        if (ppuVar3 != (undefined **)0xffffffff) {
          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xca1;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;
            FUN_000da200();
          }
          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;
          *(undefined4 *)(puVar16 + -0xc) = param_2;
          *(uint *)(puVar16 + -0x10) = local_50;
          *(undefined ***)(puVar16 + -0x14) = local_58;
          *(undefined ***)(puVar16 + -0x18) = local_54;
          *(int *)(puVar16 + -0x1c) = iVar13;
          *(int *)(puVar16 + -0x20) = param_1;
          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;
          ppuStack_7c = ppuVar7;
          FUN_001ec3b0();
          ppuVar7 = ppuStack_7c;
        }
        if (local_5c != (undefined **)0xffffffff) {
          if (local_70 <= (uint)((int)local_5c - local_74)) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;
            FUN_000da200();
          }
          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;
          *(int *)(puVar16 + -8) = iVar14;
          *(undefined4 *)(puVar16 + -0xc) = param_3;
          *(uint *)(puVar16 + -0x10) = local_50;
          *(undefined ***)(puVar16 + -0x14) = local_58;
          *(undefined ***)(puVar16 + -0x18) = ppuVar7;
          *(int *)(puVar16 + -0x1c) = iVar13;
          *(int *)(puVar16 + -0x20) = param_1;
          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;
          FUN_001ec3b0();
          piVar8 = *(int **)(*local_64 + 0xc);
          if (piVar8 == (int *)0x0) goto LAB_001ed672;
          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);
          if (ppuVar3 != local_60 + -0xdbf70) {
            *(int *)(puVar16 + -8) = iVar14;
            *(int *)(puVar16 + -0xc) = iVar13;
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;
            (*(code *)ppuVar3)();
          }
        }
      }
      local_48 = (int *)*local_48;
    } while (local_48 != (int *)0x0);
  }
  puVar17 = *(undefined4 **)(param_1 + 0x160);
  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {
    return;
  }
  piVar8 = (int *)*puVar17;
  iVar13 = piVar8[4];
  ppuVar3 = local_60;
  while (local_60 = ppuVar3, iVar13 != 0) {
    puVar17 = puVar17 + 1;
    local_48 = piVar8;
    if (local_4c == 0) {
      iVar14 = -1;
    }
    else {
      iVar14 = piVar8[5];
      if (iVar14 == 0) {
LAB_001ed5ce:
        ppuVar3 = local_60;
        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;
        *(undefined4 *)(puVar16 + -0xc) = 0x19a;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;
        FUN_000da200();
      }
    }
    uVar6 = local_50 >> 8;
    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));
    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;
    if (bVar12 == 3) {
      uVar6 = 0xfff1;
    }
    else {
      if (bVar12 != 4) {
        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xccb;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;
        FUN_000da200();
      }
      uVar6 = 0;
    }
    if (iVar13 != -1) {
      if (local_68 <= (uint)(iVar13 - local_6c)) {
        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;
        FUN_000da200();
      }
      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;
      bVar12 = *(byte *)(piVar8 + 10);
      *(undefined4 *)(puVar16 + -0xc) = param_2;
      local_50 = uVar6;
      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);
      *(uint *)(puVar16 + -0x14) = uVar6;
      *(int *)(puVar16 + -0x18) = piVar8[0xc];
      *(int **)(puVar16 + -0x1c) = piVar8;
      *(int *)(puVar16 + -0x20) = param_1;
      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;
      FUN_001ec3b0();
      uVar6 = local_50;
    }
    ppuVar3 = local_60;
    if (iVar14 != -1) {
      if (local_70 <= (uint)(iVar14 - local_74)) {
        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;
        FUN_000da200();
      }
      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;
      piVar8 = local_48;
      *(undefined4 *)(puVar16 + -0xc) = param_3;
      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));
      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);
      *(uint *)(puVar16 + -0x14) = uVar6;
      *(int *)(puVar16 + -0x18) = piVar8[0xc];
      *(int **)(puVar16 + -0x1c) = piVar8;
      *(int *)(puVar16 + -0x20) = param_1;
      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;
      FUN_001ec3b0();
    }
    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {
      return;
    }
    piVar8 = (int *)*puVar17;
    ppuVar3 = local_60;
    local_48 = piVar8;
    iVar13 = piVar8[4];
  }
LAB_001ed5b0:
  ppuVar3 = local_60;
  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;
  *(undefined4 *)(puVar16 + -0xc) = 0x180;
  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;
  FUN_000da200();
}


CALL 0x000b4846
ADD EAX,0x2274cb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x7c
MOV dword ptr [EBP + -0x5c],EAX
LEA EAX,[EAX + 0x4e8]
MOV EBX,dword ptr [EBP + 0x1c]
MOV dword ptr [EBP + -0x60],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [EBP + 0xffffff7c],EAX
TEST EAX,EAX
JZ 0x001ed672
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 + -0x68],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x64],EAX
MOV EDI,dword ptr [ESI + 0xc]
MOV ESI,dword ptr [ESI + 0x8]
TEST EAX,EAX
JZ 0x001ecb8e
MOV ECX,ESI
OR ECX,EDI
JNZ 0x001ed444
MOV dword ptr [EBP + -0x74],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 + -0x70],ESI
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x6c],EAX
MOV EDI,dword ptr [ESI + 0x18]
MOV ESI,dword ptr [ESI + 0x14]
TEST EAX,EAX
JZ 0x001ecbbe
MOV EDX,ESI
OR EDX,EDI
JNZ 0x001ed418
MOV dword ptr [EBP + -0x48],0x0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x2c]
MOV dword ptr [EBP + -0x44],EAX
TEST EAX,EAX
JZ 0x001ece1b
MOV EAX,dword ptr [EBP + -0x5c]
MOV ESI,dword ptr [EAX + 0xffef8bb4]
ADD ESI,EAX
MOV dword ptr [EBP + -0x80],ESI
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x44]
MOV ESI,dword ptr [EAX + 0xc]
TEST byte ptr [ESI + 0x2a],0x7
JNZ 0x001ecc58
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x001ecc58
MOV EDX,dword ptr [ESI + 0xc]
TEST EDX,EDX
JNZ 0x001ecc58
MOVZX EDX,byte ptr [ESI + 0x28]
SHR DL,0x4
CMP DL,0x2
JZ 0x001ecc58
MOV EDI,dword ptr [EBP + -0x60]
MOV ECX,dword ptr [EDI]
MOV EDX,dword ptr [ECX + 0x8]
TEST EDX,EDX
JZ 0x001ed61b
CMP byte ptr [EDX + 0x1fd],0x0
JNZ 0x001ecc58
MOV EDX,dword ptr [ECX + 0xc]
TEST EDX,EDX
JZ 0x001ed672
MOV ECX,dword ptr [EDX]
MOV EDI,dword ptr [EBP + -0x5c]
MOV ECX,dword ptr [ECX + 0x1c]
LEA EBX,[EDI + 0xffc901b0]
CMP ECX,EBX
JNZ 0x001ed470
TEST byte ptr [EAX + 0x2c],0x20
JZ 0x001ed3f0
LEA ESI,[ESI]
MOV EDI,dword ptr [ESI + 0x10]
TEST EDI,EDI
JZ 0x001ed5b0
MOV EAX,dword ptr [EBP + -0x48]
TEST EAX,EAX
JZ 0x001ed090
MOV EAX,dword ptr [ESI + 0x14]
MOV dword ptr [EBP + -0x58],EAX
TEST EAX,EAX
JZ 0x001ed5ce
AND EAX,EDI
CMP EAX,-0x1
JZ 0x001ece0b
MOV EAX,dword ptr [ESI + 0x30]
MOV dword ptr [EBP + -0x50],EAX
MOVZX EAX,byte ptr [ESI + 0x28]
SHR AL,0x4
MOVZX EBX,AL
MOV EAX,dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x4c],EBX
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0x8]
TEST EDX,EDX
JZ 0x001ed61b
MOVZX ECX,byte ptr [ESI + 0x2a]
MOV EAX,ECX
AND EAX,0x7
CMP byte ptr [EDX + 0x49b1],0x0
JZ 0x001eccc5
CMP EBX,0x1
JZ 0x001ed0b0
MOV EBX,dword ptr [EBP + -0x4c]
CMP EBX,0xa
JNZ 0x001eccdf
CMP byte ptr [EDX + 0x19a9],0x0
MOV EDX,0x1
CMOVNZ EDX,EBX
MOV dword ptr [EBP + -0x4c],EDX
CMP AL,0x4
JA 0x001ed5ec
MOV EBX,dword ptr [EBP + -0x5c]
MOVZX EAX,AL
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xffef8ba0]
ADD EDX,EBX
JMP EDX
MOV EAX,dword ptr [EBP + -0x44]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x44],EAX
TEST EAX,EAX
JNZ 0x001ecbe8
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x160]
CMP EAX,dword ptr [ESI + 0x164]
JZ 0x001ed378
MOV EDI,dword ptr [EAX]
MOV ESI,EAX
MOV EAX,dword ptr [EDI + 0x10]
TEST EAX,EAX
JZ 0x001ed5b0
ADD ESI,0x4
MOV EBX,EDI
MOV dword ptr [EBP + -0x44],EBX
MOV EDI,ESI
MOV ESI,dword ptr [EBP + 0x8]
JMP 0x001ecef9
MOV EDX,0xfff1
CMP EAX,-0x1
JZ 0x001ece9d
SUB EAX,dword ptr [EBP + -0x68]
CMP dword ptr [EBP + -0x64],EAX
JBE 0x001ed654
MOV ECX,dword ptr [EBP + -0x44]
SUB ESP,0x4
SHL EAX,0x4
ADD EAX,dword ptr [EBP + -0x74]
PUSH EAX
MOVZX EAX,byte ptr [ECX + 0x28]
PUSH dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x4c],EDX
SHR AL,0x4
MOVZX EAX,AL
PUSH EAX
PUSH EDX
PUSH dword ptr [ECX + 0x30]
PUSH ECX
PUSH ESI
CALL 0x001ec3b0
MOV EDX,dword ptr [EBP + -0x4c]
ADD ESP,0x20
CMP EBX,-0x1
JZ 0x001eceda
SUB EBX,dword ptr [EBP + -0x70]
CMP dword ptr [EBP + -0x6c],EBX
JBE 0x001ed6c9
SUB ESP,0x4
SHL EBX,0x4
ADD EBX,dword ptr [EBP + -0x48]
PUSH EBX
MOV EBX,dword ptr [EBP + -0x44]
PUSH dword ptr [EBP + 0x10]
MOVZX EAX,byte ptr [EBX + 0x28]
MOV byte ptr [EBP + -0x44],AL
SHR AL,0x4
MOVZX EAX,AL
PUSH EAX
PUSH EDX
PUSH dword ptr [EBX + 0x30]
PUSH EBX
PUSH ESI
CALL 0x001ec3b0
ADD ESP,0x20
CMP dword ptr [ESI + 0x164],EDI
JZ 0x001ed378
MOV EAX,dword ptr [EDI]
ADD EDI,0x4
MOV dword ptr [EBP + -0x44],EAX
MOV EAX,dword ptr [EAX + 0x10]
TEST EAX,EAX
JZ 0x001ed5b0
MOV EDX,dword ptr [EBP + -0x48]
TEST EDX,EDX
JZ 0x001ed0a0
MOV ECX,dword ptr [EBP + -0x44]
MOV EBX,dword ptr [ECX + 0x14]
TEST EBX,EBX
JZ 0x001ed5ce
MOV ECX,dword ptr [EBP + -0x44]
MOVZX ECX,byte ptr [ECX + 0x2a]
MOV EDX,ECX
MOV byte ptr [EBP + -0x4c],CL
AND EDX,0x7
CMP DL,0x3
JZ 0x001ece58
CMP DL,0x4
JNZ 0x001ed636
XOR EDX,EDX
JMP 0x001ece5d
MOV EAX,EDI
MOV dword ptr [EBP + -0x58],0xffffffff
JMP 0x001ecc7e
MOV EBX,0xffffffff
JMP 0x001ecf12
MOV ECX,EAX
TEST AL,AL
JNZ 0x001ed2a8
MOVZX EAX,byte ptr [ESI + 0x2b]
MOV ECX,dword ptr [ESI + 0xc]
MOV EDX,EAX
MOV dword ptr [EBP + -0x54],ECX
SHR DL,0x5
AND EDX,0x1
TEST ECX,ECX
JNZ 0x001ed0d8
TEST DL,DL
JNZ 0x001ed380
MOV EAX,dword ptr [EBP + -0x80]
JMP EAX
CMP AL,0x4
JNZ 0x001ed2e0
MOV EAX,dword ptr [EBP + -0x5c]
ADD EAX,dword ptr [EAX + 0xffef8bd8]
JMP EAX
JA 0x001ed5ec
MOVZX EDX,AL
MOV EAX,dword ptr [EBP + -0x5c]
MOV EBX,dword ptr [EAX + EDX*0x4 + 0xffef8bdc]
ADD EBX,EAX
JMP EBX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [EBP + -0x5c]
ADD EDX,dword ptr [EDX + 0xffef8bf0]
JMP EDX
MOV EAX,dword ptr [EAX + 0x5c]
TEST EAX,EAX
JZ 0x001ed7c2
CMP EAX,0x1
JZ 0x001ecc58
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x5c]
PUSH ESI
CALL 0x000d1730
ADD ESP,0x10
JMP 0x001ecc58
TEST EDI,EDI
JS 0x001ed746
SHL EAX,0x4
XOR EDX,EDX
MOV ECX,dword ptr [EBX + 0xc]
ADD EAX,ESI
ADC EDX,EDI
CMP dword ptr [EBX + 0x8],EAX
SBB ECX,EDX
JL 0x001ed746
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x48],EAX
JMP 0x001ecbc5
TEST EDI,EDI
JS 0x001ed746
SHL EAX,0x4
XOR EDX,EDX
MOV ECX,dword ptr [EBX + 0xc]
ADD EAX,ESI
ADC EDX,EDI
CMP dword ptr [EBX + 0x8],EAX
SBB ECX,EDX
JL 0x001ed746
MOV EAX,dword ptr [EBX + 0x10]
ADD EAX,ESI
MOV dword ptr [EBP + -0x74],EAX
JMP 0x001ecb95
SUB ESP,0x8
PUSH ESI
PUSH EDX
CALL ECX
ADD ESP,0x10
TEST AL,AL
JNZ 0x001ecc58
TEST byte ptr [ESI + 0x2a],0x7
JZ 0x001ed77b
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95a8]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0xa1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9114]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x180
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef923c]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x19a
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9160]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xc9b
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95e8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x5c
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9160]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xccb
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9160]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xcd1
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef95b0]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x69
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
SUB ESP,0x4
LEA EAX,[EBX + 0xffef9160]
PUSH EAX
LEA EAX,[EBX + 0xffef89c1]
PUSH 0xcdb
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x5c]
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 0x001ecc4a
MOV EBX,dword ptr [EBP + -0x5c]
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_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}\n\n" comment (function_definition "void FUN_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" primitive_type (function_declarator "FUN_001ecb30(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  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint in_ECX;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int aiStackY_a4 [2];" primitive_type (array_declarator "aiStackY_a4 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_8c [4];" type_identifier (array_declarator "auStack_8c [4]" identifier [ number_literal ]) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "code *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **ppuStack_80;" type_identifier (pointer_declarator "**ppuStack_80" * (pointer_declarator "*ppuStack_80" * identifier)) ;) (declaration "undefined **ppuStack_7c;" type_identifier (pointer_declarator "**ppuStack_7c" * (pointer_declarator "*ppuStack_7c" * identifier)) ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * 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 identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int *piStack_44;" primitive_type (pointer_declarator "*piStack_44" * identifier) ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "undefined **ppuStack_34;" type_identifier (pointer_declarator "**ppuStack_34" * (pointer_declarator "*ppuStack_34" * identifier)) ;) (declaration "undefined **ppuStack_30;" type_identifier (pointer_declarator "**ppuStack_30" * (pointer_declarator "*ppuStack_30" * identifier)) ;) (declaration "undefined *apuStack_2c [7];" type_identifier (pointer_declarator "*apuStack_2c [7]" * (array_declarator "apuStack_2c [7]" identifier [ number_literal ])) ;) (expression_statement "local_60 = &__DT_PLTGOT;" (assignment_expression "local_60 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (expression_statement "local_64 = &DAT_004144e8;" (assignment_expression "local_64 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "local_88 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_88 = *(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) ))))) ;) (if_statement "if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" if (parenthesized_expression "(local_88 == (int *)0x0)" ( (binary_expression "local_88 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_001ed672:\n    ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94" (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 "local_60 + -0x41a94" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed68d" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_6c = *(int *)(param_1 + 4);" (assignment_expression "local_6c = *(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_68 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_68 = *(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 "uVar6 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 8);" (assignment_expression "uVar1 = *(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_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" if (parenthesized_expression "((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0))" ( (binary_expression "(local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)" (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) || (parenthesized_expression "(in_ECX = uVar1 | uVar6, in_ECX == 0)" ( (comma_expression "in_ECX = uVar1 | uVar6, in_ECX == 0" (assignment_expression "in_ECX = uVar1 | uVar6" identifier = (binary_expression "uVar1 | uVar6" identifier | identifier)) , (binary_expression "in_ECX == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_78 = 0;\n  }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" else (compound_statement "{\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" { (if_statement "if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;" if (parenthesized_expression "(((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))" ( (binary_expression "((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" ( (comma_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1)" identifier = (binary_expression "uVar6 + CARRY4(local_68 * 0x10,uVar1)" identifier + (call_expression "CARRY4(local_68 * 0x10,uVar1)" identifier (argument_list "(local_68 * 0x10,uVar1)" ( (binary_expression "local_68 * 0x10" identifier * number_literal) , identifier ))))) , (comma_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" ( (binary_expression "*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1" (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_68 * 0x10 + uVar1" (binary_expression "local_68 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar14" (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 = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar13 - uVar6" identifier = (binary_expression "iVar13 - uVar6" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar14)" ( (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(iVar13,uVar6)" identifier (argument_list "(iVar13,uVar6)" ( identifier , identifier )))) )) != (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (goto_statement "goto LAB_001ed746;" goto statement_identifier ;)) (expression_statement "local_78 = *(int *)(param_6 + 0x10) + uVar1;" (assignment_expression "local_78 = *(int *)(param_6 + 0x10) + uVar1" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar1" (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_74 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_74 = *(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_70 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_70 = *(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 "iVar13 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar13 = *(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 "uVar6 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar6 = *(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_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" if (parenthesized_expression "((local_70 == 0) || (uVar6 == 0 && iVar13 == 0))" ( (binary_expression "(local_70 == 0) || (uVar6 == 0 && iVar13 == 0)" (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar6 == 0 && iVar13 == 0)" ( (binary_expression "uVar6 == 0 && iVar13 == 0" (binary_expression "uVar6 == 0" identifier == number_literal) && (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_4c = 0;\n  }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" else (compound_statement "{\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" { (if_statement "if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" if (parenthesized_expression "((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0))" ( (binary_expression "(iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" ( (comma_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" identifier = (binary_expression "iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" identifier + (cast_expression "(uint)CARRY4(local_70 * 0x10,uVar6)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_70 * 0x10,uVar6)" identifier (argument_list "(local_70 * 0x10,uVar6)" ( (binary_expression "local_70 * 0x10" identifier * number_literal) , identifier )))))) , (comma_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" ( (binary_expression "*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6" (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_70 * 0x10 + uVar6" (binary_expression "local_70 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar13" (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 = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar14 - uVar1" identifier = (binary_expression "iVar14 - uVar1" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar13)" ( (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(iVar14,uVar1)" identifier (argument_list "(iVar14,uVar1)" ( identifier , identifier )))) )) != (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (compound_statement "{\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_001ed746:\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_4c = *(int *)(param_6 + 0x10) + uVar6;" (assignment_expression "local_4c = *(int *)(param_6 + 0x10) + uVar6" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar6" (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_48 = *(int **)(param_1 + 0x2c);" (assignment_expression "local_48 = *(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 "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (if_statement "if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" if (parenthesized_expression "(local_48 != (int *)0x0)" ( (binary_expression "local_48 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" { (expression_statement "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);" (assignment_expression "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cbb4)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_0030cbb4" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + identifier) )))) ;) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (do_statement "do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);" do (compound_statement "{\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    }" { (expression_statement "iVar13 = local_48[3];" (assignment_expression "iVar13 = local_48[3]" identifier = (subscript_expression "local_48[3]" identifier [ number_literal ])) ;) (if_statement "if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2))" ( (binary_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0))" ( (binary_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" ( (comma_expression "iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) , (binary_expression "(*(byte *)(iVar14 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 1)" ( (binary_expression "*(byte *)(iVar14 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar14 + 0x2c)" * (cast_expression "(byte *)(iVar14 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(byte *)(iVar13 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar13 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" * (cast_expression "(byte *)(iVar13 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = *(int *)(*local_64 + 8);" (assignment_expression "iVar2 = *(int *)(*local_64 + 8)" identifier = (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) goto LAB_001ed61b;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(iVar2 + 0x1fd) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x1fd)" * (cast_expression "(char *)(iVar2 + 0x1fd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1fd)" ( (binary_expression "iVar2 + 0x1fd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" { (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" identifier = (pointer_expression "*(int **)(*local_64 + 0xc)" * (cast_expression "(int **)(*local_64 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_64 + 0xc)" ( (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x1c)" * (cast_expression "(undefined ***)(*piVar8 + 0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x1c)" ( (binary_expression "*piVar8 + 0x1c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" if (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf94)" ( (binary_expression "ppuVar3 != local_60 + -0xdbf94" identifier != (binary_expression "local_60 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" { (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477" (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 "cVar5 = (*(code *)ppuVar3)();" (assignment_expression "cVar5 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_001ecc58;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ecc58;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001ed48c;" goto statement_identifier ;)) (expression_statement "iVar14 = *(int *)(iVar13 + 8);" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" if (parenthesized_expression "((*(byte *)(iVar14 + 0x2c) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar14 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 0x20)" ( (binary_expression "*(byte *)(iVar14 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar14 + 0x2c)" * (cast_expression "(byte *)(iVar14 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" { (if_statement "if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5c) == 0)" ( (binary_expression "*(int *)(iVar14 + 0x5c) == 0" (pointer_expression "*(int *)(iVar14 + 0x5c)" * (cast_expression "(int *)(iVar14 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5c)" ( (binary_expression "iVar14 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3" (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 "local_60 + -0x41bb3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x3e" (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) = local_60 + -0x47464;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464" (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 "local_60 + -0x47464" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7db" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5c) != 1)" ( (binary_expression "*(int *)(iVar14 + 0x5c) != 1" (pointer_expression "*(int *)(iVar14 + 0x5c)" * (cast_expression "(int *)(iVar14 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5c)" ( (binary_expression "iVar14 + 0x5c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" { (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410" (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_000d1730();" (call_expression "FUN_000d1730()" identifier (argument_list "()" ( ))) ;) })) })) })) })) (labeled_statement "LAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);" statement_identifier : (expression_statement "ppuVar3 = *(undefined ***)(iVar13 + 0x10);" (assignment_expression "ppuVar3 = *(undefined ***)(iVar13 + 0x10)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x10)" * (cast_expression "(undefined ***)(iVar13 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;)) (if_statement "if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;" if (parenthesized_expression "(ppuVar3 == (undefined **)0x0)" ( (binary_expression "ppuVar3 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed5b0;" goto statement_identifier ;)) (if_statement "if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }" { (expression_statement "local_5c = (undefined **)0xffffffff;" (assignment_expression "local_5c = (undefined **)0xffffffff" identifier = (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuVar7 = ppuVar3;" (assignment_expression "ppuVar7 = ppuVar3" identifier = identifier) ;) }) (else_clause "else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" else (compound_statement "{\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" { (expression_statement "local_5c = *(undefined ***)(iVar13 + 0x14);" (assignment_expression "local_5c = *(undefined ***)(iVar13 + 0x14)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x14)" * (cast_expression "(undefined ***)(iVar13 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x14)" ( (binary_expression "iVar13 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed5ce;" goto statement_identifier ;)) (expression_statement "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);" (assignment_expression "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3)" identifier = (cast_expression "(undefined **)((uint)local_5c & (uint)ppuVar3)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_5c & (uint)ppuVar3)" ( (binary_expression "(uint)local_5c & (uint)ppuVar3" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)ppuVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" if (parenthesized_expression "(ppuVar7 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar7 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" { (expression_statement "local_54 = *(undefined ***)(iVar13 + 0x30);" (assignment_expression "local_54 = *(undefined ***)(iVar13 + 0x30)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x30)" * (cast_expression "(undefined ***)(iVar13 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4)" identifier = (call_expression "(uint)(*(byte *)(iVar13 + 0x28) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(iVar13 + 0x28) >> 4)" ( (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" * (cast_expression "(byte *)(iVar13 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "iVar14 = *(int *)(*local_64 + 8);" (assignment_expression "iVar14 = *(int *)(*local_64 + 8)" identifier = (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar14 == 0) goto LAB_001ed61b;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (expression_statement "bVar12 = *(byte *)(iVar13 + 0x2a);" (assignment_expression "bVar12 = *(byte *)(iVar13 + 0x2a)" identifier = (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = bVar12 & 7;" (assignment_expression "uVar6 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (expression_statement "bVar11 = (byte)uVar6;" (assignment_expression "bVar11 = (byte)uVar6" identifier = (cast_expression "(byte)uVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" if (parenthesized_expression "((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1))" ( (binary_expression "(*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar14 + 0x49b1) != '\0')" ( (binary_expression "*(char *)(iVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x49b1)" * (cast_expression "(char *)(iVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x49b1)" ( (binary_expression "iVar14 + 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 (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" { (if_statement "if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }" { (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0xc)" * (cast_expression "(undefined ***)(iVar13 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" if (parenthesized_expression "((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0))" ( (binary_expression "(local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_58 == (undefined **)0x0)" ( (binary_expression "local_58 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1)" ( (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d04])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d04])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d04])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d04]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d04]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d04]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "(*local_84)();" (call_expression "(*local_84)()" (parenthesized_expression "(*local_84)" ( (pointer_expression "*local_84" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar11 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" if (parenthesized_expression "(bVar11 == 4)" ( (binary_expression "bVar11 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d0a])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d0a])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d0a])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d0a]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d0a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d0a]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar11) goto LAB_001ed5ec;" if (parenthesized_expression "(4 < bVar11)" ( (binary_expression "4 < bVar11" number_literal < identifier) )) (goto_statement "goto LAB_001ed5ec;" goto statement_identifier ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (switch_statement "switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" switch (parenthesized_expression "(local_60[uVar6 - 0x41d09] + (int)local_60)" ( (binary_expression "local_60[uVar6 - 0x41d09] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d09]" identifier [ (binary_expression "uVar6 - 0x41d09" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" { (case_statement "case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;" case (cast_expression "(undefined *)0x1ed0f0" ( (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_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1ed110" ( (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_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (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 *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;" case (cast_expression "(undefined *)0x1ed300" ( (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_r0x001ecfc3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;" case (cast_expression "(undefined *)0x1ed310" ( (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_r0x001ecf43;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();" case (cast_expression "(undefined *)0x1ed6e7" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e" (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 "local_60 + -0x41a8e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed705" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_001ecd70;" goto statement_identifier ;) })) (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" identifier = identifier) ;) (if_statement "if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }" if (parenthesized_expression "((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'))" ( (binary_expression "(local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) && (parenthesized_expression "(uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" ( (comma_expression "uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'" (assignment_expression "uVar1 = 1" identifier = number_literal) , (binary_expression "*(char *)(iVar14 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x19a9)" * (cast_expression "(char *)(iVar14 + 0x19a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x19a9)" ( (binary_expression "iVar14 + 0x19a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar1 = local_50;\n        }" { (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar1;" (assignment_expression "local_50 = uVar1" identifier = identifier) ;) (if_statement "if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" if (parenthesized_expression "(4 < bVar11)" ( (binary_expression "4 < bVar11" number_literal < identifier) )) (compound_statement "{\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc9b" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed60a" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" switch (parenthesized_expression "(local_60[uVar6 - 0x41d18] + (int)local_60)" ( (binary_expression "local_60[uVar6 - 0x41d18] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d18]" identifier [ (binary_expression "uVar6 - 0x41d18" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" { (case_statement "case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;" case (cast_expression "(undefined *)0x1ecd00" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;" if (parenthesized_expression "((bVar12 & 7) != 0)" ( (binary_expression "(bVar12 & 7) != 0" (parenthesized_expression "(bVar12 & 7)" ( (binary_expression "bVar12 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x001ed6e7;" goto statement_identifier ;)) (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0xc)" * (cast_expression "(undefined ***)(iVar13 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;" (assignment_expression "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5" identifier = (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar12 = bVar11 & 1;" (assignment_expression "bVar12 = bVar11 & 1" identifier = (binary_expression "bVar11 & 1" identifier & number_literal)) ;) (expression_statement "ppuVar7 = local_58;" (assignment_expression "ppuVar7 = local_58" identifier = identifier) ;) (if_statement "if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" if (parenthesized_expression "((local_58 != (undefined **)0xfff1) && (bVar12 != 1))" ( (binary_expression "(local_58 != (undefined **)0xfff1) && (bVar12 != 1)" (parenthesized_expression "(local_58 != (undefined **)0xfff1)" ( (binary_expression "local_58 != (undefined **)0xfff1" identifier != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(bVar12 != 1)" ( (binary_expression "bVar12 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_58" (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) )))) = identifier) ;) (expression_statement "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);" (assignment_expression "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" identifier = (cast_expression "(undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" ( (binary_expression "CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01" (call_expression "CONCAT31(ppuStack_80._1_3_,bVar11)" identifier (argument_list "(ppuStack_80._1_3_,bVar11)" ( (field_expression "ppuStack_80._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f" (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 "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" identifier = identifier) ;) (expression_statement "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" { (expression_statement "ppuStack_80 = ppuStack_7c;" (assignment_expression "ppuStack_80 = ppuStack_7c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1ed39d;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1ed39d" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e7db0();" (call_expression "FUN_001e7db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuStack_7c = ppuStack_34;" (assignment_expression "ppuStack_7c = ppuStack_34" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21" (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 "local_60 + -0x41d21" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7" (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 "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_80;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_80" (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) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb" (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_000d1330();" (call_expression "FUN_000d1330()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" if (parenthesized_expression "(ppuStack_34 != apuStack_2c)" ( (binary_expression "ppuStack_34 != apuStack_2c" identifier != identifier) )) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_34;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_34" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8" (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_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" identifier = identifier) ;) (expression_statement "bVar12 = (byte)ppuStack_80;" (assignment_expression "bVar12 = (byte)ppuStack_80" identifier = (cast_expression "(byte)ppuStack_80" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" { (labeled_statement "LAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96" (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 "local_60 + -0x41a96" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xa1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed4aa" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" identifier = (pointer_expression "*(int **)(iVar13 + 8)" * (cast_expression "(int **)(iVar13 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar8 + 0xb) & 1" (pointer_expression "*(byte *)(piVar8 + 0xb)" * (cast_expression "(byte *)(piVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xb)" ( (binary_expression "piVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }" { (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);" (assignment_expression "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(ppuStack_80._1_3_,bVar12)" identifier (argument_list "(ppuStack_80._1_3_,bVar12)" ( (field_expression "ppuStack_80._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" identifier = (pointer_expression "*(code **)(iVar14 + 0x14)" * (cast_expression "(code **)(iVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f" (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 "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "iVar14 = (*pcVar4)();" (assignment_expression "iVar14 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;" if (parenthesized_expression "((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0))" ( (binary_expression "(ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)" (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" ( (binary_expression "ppuStack_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001ecfa0;" goto statement_identifier ;)) (if_statement "if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" if (parenthesized_expression "((byte)ppuStack_80 == '\0')" ( (binary_expression "(byte)ppuStack_80 == '\0'" (cast_expression "(byte)ppuStack_80" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }" { (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" if (parenthesized_expression "(ppuStack_7c != (undefined **)0xfff1)" ( (binary_expression "ppuStack_7c != (undefined **)0xfff1" identifier != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188" (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 "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') goto LAB_001ed196;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ed196;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" else (compound_statement "{\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" { (labeled_statement "LAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" statement_identifier : (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x60)" * (cast_expression "(undefined ***)(*piVar8 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x60)" ( (binary_expression "*piVar8 + 0x60" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;)) (expression_statement "ppuStack_80 = local_60 + -0xdb9ec;" (assignment_expression "ppuStack_80 = local_60 + -0xdb9ec" identifier = (binary_expression "local_60 + -0xdb9ec" identifier + number_literal)) ;) (if_statement "if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" if (parenthesized_expression "(ppuVar7 == ppuStack_80)" ( (binary_expression "ppuVar7 == ppuStack_80" identifier == identifier) )) (compound_statement "{\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }" { (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (if_statement "if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;" if (parenthesized_expression "((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)" ( (binary_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c" (cast_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar8[0xf] - piVar8[0xe] >> 2)" ( (binary_expression "piVar8[0xf] - piVar8[0xe] >> 2" (binary_expression "piVar8[0xf] - piVar8[0xe]" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar8[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_001ed7a6;" goto statement_identifier ;)) (expression_statement "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);" (assignment_expression "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" identifier = (pointer_expression "*(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" * (cast_expression "(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar8[0xe] + (int)ppuStack_7c * 4)" ( (binary_expression "piVar8[0xe] + (int)ppuStack_7c * 4" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) + (binary_expression "(int)ppuStack_7c * 4" (cast_expression "(int)ppuStack_7c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" else (compound_statement "{\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" { (expression_statement "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d" (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 "ppuVar7 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "ppuVar7 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_7c" (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) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0xc) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar8" (pointer_expression "*(int **)(puVar16 + -0xc)" * (cast_expression "(int **)(puVar16 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_1" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8" (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 "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" identifier = identifier) ;) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "cVar5 = FUN_001e6ec0();" (assignment_expression "cVar5 = FUN_001e6ec0()" identifier = (call_expression "FUN_001e6ec0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (if_statement "if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" ( (binary_expression "ppuStack_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc59" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b" (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 "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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 "*(int **)(puVar16 + -8) = piVar8;" (assignment_expression "*(int **)(puVar16 + -8) = piVar8" (pointer_expression "*(int **)(puVar16 + -8)" * (cast_expression "(int **)(puVar16 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (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) )))) = (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 ***)(puVar16 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar16 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar16 + -0x10)" * (cast_expression "(int ***)(puVar16 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&piStack_44" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3" (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_000dd700();" (call_expression "FUN_000dd700()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\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                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }" { (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721" (pointer_expression "*(undefined **)(puVar16 + -0x18)" * (cast_expression "(undefined **)(puVar16 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed721" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar9 = *(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 (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" if (parenthesized_expression "(ppuVar9 == ppuStack_80)" ( (binary_expression "ppuVar9 == ppuStack_80" identifier == identifier) )) (compound_statement "{\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }" { (if_statement "if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40)" ( (binary_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40" (call_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(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) ))) <= identifier) )) (compound_statement "{\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" { (labeled_statement "LAB_001ed7a6:\n                    ppuVar7 = local_60;" statement_identifier : (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar3;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar3" (pointer_expression "*(undefined ***)(puVar15 + -4)" * (cast_expression "(undefined ***)(puVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9" (pointer_expression "*(undefined ***)(puVar15 + -8)" * (cast_expression "(undefined ***)(puVar15 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "ppuVar7 + -0x41aa9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e" (pointer_expression "*(undefined ***)(puVar15 + -0x10)" * (cast_expression "(undefined ***)(puVar15 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar7 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);" (assignment_expression "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" identifier = (pointer_expression "*(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" * (cast_expression "(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piStack_44[0xe] + uStack_40 * 4)" ( (binary_expression "piStack_44[0xe] + uStack_40 * 4" (subscript_expression "piStack_44[0xe]" identifier [ number_literal ]) + (binary_expression "uStack_40 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" else (compound_statement "{\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" { (expression_statement "*(uint *)(puVar16 + -0x10) = uStack_40;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uStack_40" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar16 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar16 + -0x14)" * (cast_expression "(int **)(puVar16 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppuVar9 = (undefined **)(*(code *)ppuVar9)();" (assignment_expression "ppuVar9 = (undefined **)(*(code *)ppuVar9)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar9)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar9)()" (parenthesized_expression "(*(code *)ppuVar9)" ( (pointer_expression "*(code *)ppuVar9" * (cast_expression "(code *)ppuVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" ( (binary_expression "ppuVar9 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar7" (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) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c" (pointer_expression "*(undefined **)(puVar16 + -0x18)" * (cast_expression "(undefined **)(puVar16 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed52c" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (expression_statement "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*ppuVar9 + 0x2c)" * (cast_expression "(undefined ***)(*ppuVar9 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar9 + 0x2c)" ( (binary_expression "*ppuVar9 + 0x2c" (pointer_expression "*ppuVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" if (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" ( (binary_expression "ppuVar7 == local_60 + -0xcba68" identifier == (binary_expression "local_60 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "local_58 = (undefined **)ppuVar9[0x18];" (assignment_expression "local_58 = (undefined **)ppuVar9[0x18]" identifier = (cast_expression "(undefined **)ppuVar9[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar9[0x18]" identifier [ number_literal ]))) ;) (if_statement "if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" ( (binary_expression "local_58 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ed7db:\n                  ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7" (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 "local_60 + -0x41bb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x1043" (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) = ppuVar3 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469" (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 "ppuVar3 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7f9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" else (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuVar9;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar9" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) }))) (if_statement "if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" if (parenthesized_expression "((undefined **)0xfeff < local_58)" ( (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" { (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" { (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) })) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" if (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" ( (binary_expression "local_5c == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  local_58 = (undefined **)0xffff;\n                }" { (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" else (compound_statement "{\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" { (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) }))) })) (if_statement "if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" if (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" ( (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_001ed61b:\n                ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86" (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 "local_60 + -0x41a86" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636" (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 "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;" if (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ed06b;" goto statement_identifier ;)) }))) }) (else_clause "else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" else (compound_statement "{\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" { (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) & 2)" ( (binary_expression "*(byte *)(iVar13 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" { (expression_statement "iVar14 = *local_88;" (assignment_expression "iVar14 = *local_88" identifier = (pointer_expression "*local_88" * identifier)) ;) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = local_88;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_88" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" identifier = (pointer_expression "*(code **)(iVar14 + 0x14)" * (cast_expression "(code **)(iVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52" (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 "ppuVar7 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar7 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) })) (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (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 *)(iVar13 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1)" ( (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar13 + 0x2c)" * (cast_expression "(byte *)(iVar13 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;" case (cast_expression "(undefined *)0x1ecf40" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar11 != 2)" ( (binary_expression "bVar11 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b" (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 "local_60 + -0x41b8b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 200" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed58e" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ecf5a" & identifier)) ;) (expression_statement "piVar8 = (int *)FUN_0015f960();" (assignment_expression "piVar8 = (int *)FUN_0015f960()" identifier = (cast_expression "(int *)FUN_0015f960()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015f960()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x001ecfb0;" goto statement_identifier ;)) (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x2c)" * (cast_expression "(undefined ***)(*piVar8 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" if (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" ( (binary_expression "ppuVar7 == local_60 + -0xcba68" identifier == (binary_expression "local_60 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }" { (expression_statement "local_58 = (undefined **)piVar8[0x18];" (assignment_expression "local_58 = (undefined **)piVar8[0x18]" identifier = (cast_expression "(undefined **)piVar8[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar8[0x18]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;" if (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" ( (binary_expression "local_58 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed7db;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" else (compound_statement "{\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" { (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed366" & identifier)) ;) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfa0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001ecfa0:\n          local_58 = (undefined **)0x0;" statement_identifier : (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfb0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;" statement_identifier : (expression_statement "local_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" case (cast_expression "(undefined *)0x1ecfc0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar11 != 1)" ( (binary_expression "bVar11 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d" (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 "local_60 + -0x41b7d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xb5" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed5ae" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" identifier = (pointer_expression "*(int **)(iVar13 + 8)" * (cast_expression "(int **)(iVar13 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x2c);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar14 + 0x2c)" * (cast_expression "(code **)(iVar14 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ecfd8" & identifier)) ;) (expression_statement "local_58 = (undefined **)(*pcVar4)();" (assignment_expression "local_58 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" if (parenthesized_expression "((undefined **)0xfeff < local_58)" ( (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" { (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" { (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed003" & identifier)) ;) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" if (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" ( (binary_expression "local_5c == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              local_58 = (undefined **)0xffff;\n            }" { (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" else (compound_statement "{\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" { (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed02e" & identifier)) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (if_statement "if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;" if (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" ( (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;" if (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0')" ( (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x24);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x24)" identifier = (pointer_expression "*(code **)(iVar14 + 0x24)" * (cast_expression "(code **)(iVar14 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed05e" & identifier)) ;) (expression_statement "ppuVar9 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar9 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" if (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" ( (binary_expression "ppuVar9 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc81" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7a6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)ppuVar9[7] & 1) == 0)" ( (binary_expression "((uint)ppuVar9[7] & 1) == 0" (parenthesized_expression "((uint)ppuVar9[7] & 1)" ( (binary_expression "(uint)ppuVar9[7] & 1" (cast_expression "(uint)ppuVar9[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar9[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f" (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 "local_60 + -0x41b7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc5" (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) = local_60 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469" (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 "local_60 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746" (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 "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (expression_statement "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" (assignment_expression "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1])" identifier = (cast_expression "(undefined **)((int)local_54 - (int)ppuVar9[1])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_54 - (int)ppuVar9[1])" ( (binary_expression "(int)local_54 - (int)ppuVar9[1]" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar9[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar9[1]" identifier [ number_literal ]))) )))) ;)) })) (labeled_statement "LAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" statement_identifier : (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" { (if_statement "if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" if (parenthesized_expression "(local_68 <= (uint)((int)ppuVar3 - local_6c))" ( (binary_expression "local_68 <= (uint)((int)ppuVar3 - local_6c)" identifier <= (call_expression "(uint)((int)ppuVar3 - local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppuVar3 - local_6c)" ( (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9" (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 "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "((int)ppuVar3 - local_6c) * 0x10 + local_78" (binary_expression "((int)ppuVar3 - local_6c) * 0x10" (parenthesized_expression "((int)ppuVar3 - local_6c)" ( (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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) )))) = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" * (cast_expression "(undefined ***)(puVar16 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x18) = local_54;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = local_54" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" * (cast_expression "(undefined ***)(puVar16 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" * (cast_expression "(int *)(puVar16 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" identifier = identifier) ;) }))) (if_statement "if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" if (parenthesized_expression "(local_5c != (undefined **)0xffffffff)" ( (binary_expression "local_5c != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" { (if_statement "if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" if (parenthesized_expression "(local_70 <= (uint)((int)local_5c - local_74))" ( (binary_expression "local_70 <= (uint)((int)local_5c - local_74)" identifier <= (call_expression "(uint)((int)local_5c - local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_5c - local_74)" ( (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed6ab" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;" (assignment_expression "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10" identifier = (binary_expression "local_4c + ((int)local_5c - local_74) * 0x10" identifier + (binary_expression "((int)local_5c - local_74) * 0x10" (parenthesized_expression "((int)local_5c - local_74)" ( (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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) )))) = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" * (cast_expression "(undefined ***)(puVar16 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x18) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = ppuVar7" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" * (cast_expression "(undefined ***)(puVar16 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" * (cast_expression "(int *)(puVar16 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" identifier = (pointer_expression "*(int **)(*local_64 + 0xc)" * (cast_expression "(int **)(*local_64 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_64 + 0xc)" ( (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x9c)" * (cast_expression "(undefined ***)(*piVar8 + 0x9c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x9c)" ( (binary_expression "*piVar8 + 0x9c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" if (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf70)" ( (binary_expression "ppuVar3 != local_60 + -0xdbf70" identifier != (binary_expression "local_60 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" { (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138" (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 "(*(code *)ppuVar3)();" (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) })) (expression_statement "local_48 = (int *)*local_48;" (assignment_expression "local_48 = (int *)*local_48" identifier = (cast_expression "(int *)*local_48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) }) while (parenthesized_expression "(local_48 != (int *)0x0)" ( (binary_expression "local_48 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "puVar17 = *(undefined4 **)(param_1 + 0x160);" (assignment_expression "puVar17 = *(undefined4 **)(param_1 + 0x160)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x160)" * (cast_expression "(undefined4 **)(param_1 + 0x160)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(param_1 + 0x164))" ( (binary_expression "puVar17 == *(undefined4 **)(param_1 + 0x164)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 0x164)" * (cast_expression "(undefined4 **)(param_1 + 0x164)" ( (type_descriptor "undefined4 **" type_identifier (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 "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" identifier = (cast_expression "(int *)*puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" identifier = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (while_statement "while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" while (parenthesized_expression "(local_60 = ppuVar3, iVar13 != 0)" ( (comma_expression "local_60 = ppuVar3, iVar13 != 0" (assignment_expression "local_60 = ppuVar3" identifier = identifier) , (binary_expression "iVar13 != 0" identifier != number_literal)) )) (compound_statement "{\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" { (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" identifier = identifier) ;) (if_statement "if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      iVar14 = -1;\n    }" { (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" else (compound_statement "{\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" { (expression_statement "iVar14 = piVar8[5];" (assignment_expression "iVar14 = piVar8[5]" identifier = (subscript_expression "piVar8[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_001ed5ce:\n        ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71" (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 "local_60 + -0x41b71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec" (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 "uVar6 = local_50 >> 8;" (assignment_expression "uVar6 = local_50 >> 8" identifier = (binary_expression "local_50 >> 8" identifier >> number_literal)) ;) (expression_statement "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));" (assignment_expression "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" identifier = (call_expression "CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" identifier (argument_list "((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" ( (cast_expression "(int3)uVar6" ( (type_descriptor "int3" type_identifier) ) identifier) , (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" * (cast_expression "(byte *)((int)piVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + 0x2a)" ( (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;" (assignment_expression "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7" identifier = (binary_expression "*(byte *)((int)piVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" * (cast_expression "(byte *)((int)piVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + 0x2a)" ( (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" if (parenthesized_expression "(bVar12 == 3)" ( (binary_expression "bVar12 == 3" identifier == number_literal) )) (compound_statement "{\n      uVar6 = 0xfff1;\n    }" { (expression_statement "uVar6 = 0xfff1;" (assignment_expression "uVar6 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" else (compound_statement "{\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" { (if_statement "if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" if (parenthesized_expression "(bVar12 != 4)" ( (binary_expression "bVar12 != 4" identifier != number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xccb" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654" (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 "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" if (parenthesized_expression "(iVar13 != -1)" ( (binary_expression "iVar13 != -1" identifier != number_literal) )) (compound_statement "{\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" { (if_statement "if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" if (parenthesized_expression "(local_68 <= (uint)(iVar13 - local_6c))" ( (binary_expression "local_68 <= (uint)(iVar13 - local_6c)" identifier <= (call_expression "(uint)(iVar13 - local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar13 - local_6c)" ( (binary_expression "iVar13 - local_6c" identifier - identifier) )))) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcd1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672" (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 "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "(iVar13 - local_6c) * 0x10 + local_78" (binary_expression "(iVar13 - local_6c) * 0x10" (parenthesized_expression "(iVar13 - local_6c)" ( (binary_expression "iVar13 - local_6c" identifier - identifier) )) * number_literal) + identifier)) ;) (expression_statement "bVar12 = *(byte *)(piVar8 + 10);" (assignment_expression "bVar12 = *(byte *)(piVar8 + 10)" identifier = (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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) )))) = identifier) ;) (expression_statement "local_50 = uVar6;" (assignment_expression "local_50 = uVar6" identifier = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 4)" ( (binary_expression "bVar12 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" * (cast_expression "(uint *)(puVar16 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" * (cast_expression "(int *)(puVar16 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" * (cast_expression "(int **)(puVar16 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar6 = local_50;" (assignment_expression "uVar6 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (if_statement "if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" if (parenthesized_expression "(iVar14 != -1)" ( (binary_expression "iVar14 != -1" identifier != number_literal) )) (compound_statement "{\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" { (if_statement "if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" if (parenthesized_expression "(local_70 <= (uint)(iVar14 - local_74))" ( (binary_expression "local_70 <= (uint)(iVar14 - local_74)" identifier <= (call_expression "(uint)(iVar14 - local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 - local_74)" ( (binary_expression "iVar14 - local_74" identifier - identifier) )))) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcdb" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed6e7" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "(iVar14 - local_74) * 0x10 + local_4c" (binary_expression "(iVar14 - local_74) * 0x10" (parenthesized_expression "(iVar14 - local_74)" ( (binary_expression "iVar14 - local_74" identifier - identifier) )) * number_literal) + identifier)) ;) (expression_statement "piVar8 = local_48;" (assignment_expression "piVar8 = local_48" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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) )))) = identifier) ;) (expression_statement "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));" (assignment_expression "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" identifier = (cast_expression "(int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" identifier (argument_list "(local_48._1_3_,*(byte *)(piVar8 + 10))" ( (field_expression "local_48._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (call_expression "(uint)(*(byte *)(piVar8 + 10) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(piVar8 + 10) >> 4)" ( (binary_expression "*(byte *)(piVar8 + 10) >> 4" (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" * (cast_expression "(uint *)(puVar16 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" * (cast_expression "(int *)(puVar16 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" * (cast_expression "(int **)(puVar16 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x164) == puVar17)" ( (binary_expression "*(undefined4 **)(param_1 + 0x164) == puVar17" (pointer_expression "*(undefined4 **)(param_1 + 0x164)" * (cast_expression "(undefined4 **)(param_1 + 0x164)" ( (type_descriptor "undefined4 **" type_identifier (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 "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" identifier = (cast_expression "(int *)*puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" identifier = identifier) ;) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" identifier = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) })) (labeled_statement "LAB_001ed5b0:\n  ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb" (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 "local_60 + -0x41bbb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce" (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 "()" ( ))) ;) })))
(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<32, false>\n   DWARF original prototype: void sized_write_globals<32,_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<32,_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  General_options *pGVar2;\n  Target *pTVar3;\n  undefined **ppuVar4;\n  _Hash_node_base *p_Var5;\n  _func_int_varargs **pp_Var6;\n  _func_int_varargs *p_Var7;\n  int *piVar8;\n  code *pcVar9;\n  int iVar10;\n  int iVar11;\n  _Hash_node_base **pp_Var12;\n  Symbol *pSVar13;\n  bool bVar14;\n  char cVar15;\n  uint uVar16;\n  _Hash_node_base *p_Var17;\n  uint uVar18;\n  Output_section *pOVar19;\n  _Hash_node_base *p_Var20;\n  undefined4 uVar21;\n  byte bVar22;\n  byte bVar23;\n  uint uVar24;\n  int iVar25;\n  uint *puVar26;\n  uint *puVar27;\n  pointer ppSVar28;\n  uint auStack_a4 [2];\n  uint auStack_90 [2];\n  Target *local_88;\n  code *local_84;\n  _Hash_node_base *local_80;\n  _Hash_node_base *local_7c;\n  uchar *local_78;\n  uint local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  Parameters **local_64;\n  undefined **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  uchar *local_4c;\n  Symbol *local_48;\n  int *local_44;\n  uint local_40;\n  _Hash_node_base *local_34;\n  _Hash_node_base *local_30;\n  _Hash_node_base local_2c [7];\n  \n  puVar26 = auStack_90 + 1;\n  local_60 = &_GLOBAL_OFFSET_TABLE_;\n  local_64 = &parameters;\n  local_88 = parameters->target_;\n  if (parameters->target_ == (Target *)0x0) {\nLAB_001ed672:\n    ppuVar4 = local_60;\n    puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94);\n    puVar26[0xfffffffd] = 0x69;\n    puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar26[0xfffffffb] = 0x1ed68d;\n    do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])\n    ;\n  }\n  local_68 = this->output_count_;\n  local_6c = this->first_global_index_;\n  iVar25 = *(int *)((int)&this->offset_ + 4);\n  uVar18 = (uint)this->offset_;\n  if ((local_68 == 0) || (uVar18 == 0 && iVar25 == 0)) {\n    local_78 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))\n    goto LAB_001ed746;\n    local_78 = of->base_ + uVar18;\n  }\n  local_70 = this->dynamic_count_;\n  local_74 = this->first_dynamic_global_index_;\n  iVar25 = *(int *)((int)&this->dynamic_offset_ + 4);\n  uVar18 = (uint)this->dynamic_offset_;\n  if ((local_70 == 0) || (uVar18 == 0 && iVar25 == 0)) {\n    local_4c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_4c = of->base_ + uVar18;\n  }\n  local_48 = (Symbol *)(this->table_)._M_h._M_before_begin._M_nxt;\n  puVar26 = auStack_90 + 1;\n  if (local_48 != (Symbol *)0x0) {\n    local_84 = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4);\n    puVar26 = auStack_90 + 1;\n    do {\n      uVar18 = (local_48->u2_).shndx;\n      if (((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)) {\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);\n      if (p_Var5 == (_Hash_node_base *)0x0) goto LAB_001ed5b0;\n      if (local_4c == (uchar *)0x0) {\n        local_5c = (_Hash_node_base *)0xffffffff;\n        p_Var17 = p_Var5;\n      }\n      else {\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }\n      if (p_Var17 != (_Hash_node_base *)0xffffffff) {\n        local_54 = *(_Hash_node_base **)(uVar18 + 0x30);\n        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        bVar23 = *(byte *)(uVar18 + 0x2a);\n        uVar16 = bVar23 & 7;\n        bVar22 = (byte)uVar16;\n        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }\n        if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }\n        if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }\n        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }\n  ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  uVar18 = (*ppSVar28)->symtab_index_;\n  if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }\nLAB_001ed5b0:\n  ppuVar4 = local_60;\n  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;\n  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;\n  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));\n}\n\n" comment comment comment comment comment comment (declaration "void __thiscall\ngold::Symbol_table::sized_write_globals<32,_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 "<32" < 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 "General_options *pGVar2;" type_identifier (pointer_declarator "*pGVar2" * identifier) ;) (declaration "Target *pTVar3;" type_identifier (pointer_declarator "*pTVar3" * identifier) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "_Hash_node_base *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * 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 "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * 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 "Symbol *pSVar13;" type_identifier (pointer_declarator "*pSVar13" * identifier) ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var17;" type_identifier (pointer_declarator "*p_Var17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "Output_section *pOVar19;" type_identifier (pointer_declarator "*pOVar19" * identifier) ;) (declaration "_Hash_node_base *p_Var20;" type_identifier (pointer_declarator "*p_Var20" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "byte bVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "pointer ppSVar28;" type_identifier identifier ;) (declaration "uint auStack_a4 [2];" type_identifier (array_declarator "auStack_a4 [2]" identifier [ number_literal ]) ;) (declaration "uint auStack_90 [2];" type_identifier (array_declarator "auStack_90 [2]" identifier [ number_literal ]) ;) (declaration "Target *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "code *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "_Hash_node_base *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "_Hash_node_base *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "uchar *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "Parameters **local_64;" type_identifier (pointer_declarator "**local_64" * (pointer_declarator "*local_64" * identifier)) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (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 "uchar *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "Symbol *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "_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 "puVar26 = auStack_90 + 1;" (assignment_expression "puVar26 = auStack_90 + 1" identifier = (binary_expression "auStack_90 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_60 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "local_64 = &parameters;" (assignment_expression "local_64 = &parameters" identifier = (pointer_expression "&parameters" & identifier)) ;) (expression_statement "local_88 = parameters->target_;" (assignment_expression "local_88 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (parameters->target_ == (Target *)0x0) {\nLAB_001ed672:\n    ppuVar4 = local_60;\n    puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94);\n    puVar26[0xfffffffd] = 0x69;\n    puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar26[0xfffffffb] = 0x1ed68d;\n    do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[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_001ed672:\n    ppuVar4 = local_60;\n    puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94);\n    puVar26[0xfffffffd] = 0x69;\n    puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n    puVar26[0xfffffffb] = 0x1ed68d;\n    do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])\n    ;\n  }" { (labeled_statement "LAB_001ed672:\n    ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_60 + -0x41a94)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41a94)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41a94)" ( (binary_expression "local_60 + -0x41a94" identifier + number_literal) )))) ;) (expression_statement "puVar26[0xfffffffd] = 0x69;" (assignment_expression "puVar26[0xfffffffd] = 0x69" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;" (assignment_expression "puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar4 + -0x131d93" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[0xfffffffb] = 0x1ed68d;" (assignment_expression "puVar26[0xfffffffb] = 0x1ed68d" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])\n    ;" (call_expression "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])" identifier (argument_list "((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])" ( (cast_expression "(char *)puVar26[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "local_68 = this->output_count_;" (assignment_expression "local_68 = this->output_count_" identifier = (field_expression "this->output_count_" identifier -> field_identifier)) ;) (expression_statement "local_6c = this->first_global_index_;" (assignment_expression "local_6c = this->first_global_index_" identifier = (field_expression "this->first_global_index_" identifier -> field_identifier)) ;) (expression_statement "iVar25 = *(int *)((int)&this->offset_ + 4);" (assignment_expression "iVar25 = *(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 "uVar18 = (uint)this->offset_;" (assignment_expression "uVar18 = (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_68 == 0) || (uVar18 == 0 && iVar25 == 0)) {\n    local_78 = (uchar *)0x0;\n  }\n  else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))\n    goto LAB_001ed746;\n    local_78 = of->base_ + uVar18;\n  }" if (parenthesized_expression "((local_68 == 0) || (uVar18 == 0 && iVar25 == 0))" ( (binary_expression "(local_68 == 0) || (uVar18 == 0 && iVar25 == 0)" (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar18 == 0 && iVar25 == 0)" ( (binary_expression "uVar18 == 0 && iVar25 == 0" (binary_expression "uVar18 == 0" identifier == number_literal) && (binary_expression "iVar25 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_78 = (uchar *)0x0;\n  }" { (expression_statement "local_78 = (uchar *)0x0;" (assignment_expression "local_78 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))\n    goto LAB_001ed746;\n    local_78 = of->base_ + uVar18;\n  }" else (compound_statement "{\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))\n    goto LAB_001ed746;\n    local_78 = of->base_ + uVar18;\n  }" { (if_statement "if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))\n    goto LAB_001ed746;" if (parenthesized_expression "((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))" ( (binary_expression "(iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)" (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)" ( (comma_expression "iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 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 "iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "iVar25 = iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18)" identifier = (binary_expression "iVar25 + (uint)CARRY4(local_68 * 0x10,uVar18)" identifier + (cast_expression "(uint)CARRY4(local_68 * 0x10,uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_68 * 0x10,uVar18)" identifier (argument_list "(local_68 * 0x10,uVar18)" ( (binary_expression "local_68 * 0x10" identifier * number_literal) , identifier )))))) , (comma_expression "uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "uVar16 = (uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18)" identifier = (call_expression "(uint)((uint)of->file_size_ < local_68 * 0x10 + uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < local_68 * 0x10 + uVar18)" ( (binary_expression "(uint)of->file_size_ < local_68 * 0x10 + uVar18" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "local_68 * 0x10 + uVar18" (binary_expression "local_68 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "iVar11 = iVar10 - iVar25" identifier = (binary_expression "iVar10 - iVar25" identifier - identifier)) , (binary_expression "(SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16))" ( (binary_expression "SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)" (call_expression "SBORROW4(iVar10,iVar25)" identifier (argument_list "(iVar10,iVar25)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar16)" identifier (argument_list "(iVar11,uVar16)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar11 - uVar16) < 0" (cast_expression "(int)(iVar11 - uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar16)" ( (binary_expression "iVar11 - uVar16" identifier - identifier) ))) < number_literal)))))) ))) )) (goto_statement "goto LAB_001ed746;" goto statement_identifier ;)) (expression_statement "local_78 = of->base_ + uVar18;" (assignment_expression "local_78 = of->base_ + uVar18" identifier = (binary_expression "of->base_ + uVar18" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) }))) (expression_statement "local_70 = this->dynamic_count_;" (assignment_expression "local_70 = this->dynamic_count_" identifier = (field_expression "this->dynamic_count_" identifier -> field_identifier)) ;) (expression_statement "local_74 = this->first_dynamic_global_index_;" (assignment_expression "local_74 = this->first_dynamic_global_index_" identifier = (field_expression "this->first_dynamic_global_index_" identifier -> field_identifier)) ;) (expression_statement "iVar25 = *(int *)((int)&this->dynamic_offset_ + 4);" (assignment_expression "iVar25 = *(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 "uVar18 = (uint)this->dynamic_offset_;" (assignment_expression "uVar18 = (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_70 == 0) || (uVar18 == 0 && iVar25 == 0)) {\n    local_4c = (uchar *)0x0;\n  }\n  else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_4c = of->base_ + uVar18;\n  }" if (parenthesized_expression "((local_70 == 0) || (uVar18 == 0 && iVar25 == 0))" ( (binary_expression "(local_70 == 0) || (uVar18 == 0 && iVar25 == 0)" (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar18 == 0 && iVar25 == 0)" ( (binary_expression "uVar18 == 0 && iVar25 == 0" (binary_expression "uVar18 == 0" identifier == number_literal) && (binary_expression "iVar25 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_4c = (uchar *)0x0;\n  }" { (expression_statement "local_4c = (uchar *)0x0;" (assignment_expression "local_4c = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_4c = of->base_ + uVar18;\n  }" else (compound_statement "{\n    if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }\n    local_4c = of->base_ + uVar18;\n  }" { (if_statement "if ((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)) {\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" if (parenthesized_expression "((iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0))" ( (binary_expression "(iVar25 < 0) ||\n       (iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)" (parenthesized_expression "(iVar25 < 0)" ( (binary_expression "iVar25 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0)" ( (comma_expression "iVar10 = *(int *)((int)&of->file_size_ + 4),\n       iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 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 "iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18),\n       uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "iVar25 = iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18)" identifier = (binary_expression "iVar25 + (uint)CARRY4(local_70 * 0x10,uVar18)" identifier + (cast_expression "(uint)CARRY4(local_70 * 0x10,uVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_70 * 0x10,uVar18)" identifier (argument_list "(local_70 * 0x10,uVar18)" ( (binary_expression "local_70 * 0x10" identifier * number_literal) , identifier )))))) , (comma_expression "uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18), iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "uVar16 = (uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18)" identifier = (call_expression "(uint)((uint)of->file_size_ < local_70 * 0x10 + uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < local_70 * 0x10 + uVar18)" ( (binary_expression "(uint)of->file_size_ < local_70 * 0x10 + uVar18" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "local_70 * 0x10 + uVar18" (binary_expression "local_70 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar11 = iVar10 - iVar25,\n       (SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (assignment_expression "iVar11 = iVar10 - iVar25" identifier = (binary_expression "iVar10 - iVar25" identifier - identifier)) , (binary_expression "(SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)) != (int)(iVar11 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16))" ( (binary_expression "SBORROW4(iVar10,iVar25) != SBORROW4(iVar11,uVar16)" (call_expression "SBORROW4(iVar10,iVar25)" identifier (argument_list "(iVar10,iVar25)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar11,uVar16)" identifier (argument_list "(iVar11,uVar16)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar11 - uVar16) < 0" (cast_expression "(int)(iVar11 - uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar11 - uVar16)" ( (binary_expression "iVar11 - uVar16" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\nLAB_001ed746:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n    }" { (labeled_statement "LAB_001ed746:\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_4c = of->base_ + uVar18;" (assignment_expression "local_4c = of->base_ + uVar18" identifier = (binary_expression "of->base_ + uVar18" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) }))) (expression_statement "local_48 = (Symbol *)(this->table_)._M_h._M_before_begin._M_nxt;" (assignment_expression "local_48 = (Symbol *)(this->table_)._M_h._M_before_begin._M_nxt" identifier = (cast_expression "(Symbol *)(this->table_)._M_h._M_before_begin._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (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 "puVar26 = auStack_90 + 1;" (assignment_expression "puVar26 = auStack_90 + 1" identifier = (binary_expression "auStack_90 + 1" identifier + number_literal)) ;) (ERROR "if (local_48 != (Symbol *)0x0) {\n    local_84 = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4);\n    puVar26 = auStack_90 + 1;\n    do {\n      uVar18 = (local_48->u2_).shndx;\n      if (((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)) {\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);\n      if (p_Var5 == (_Hash_node_base *)0x0) goto LAB_001ed5b0;\n      if (local_4c == (uchar *)0x0) {\n        local_5c = (_Hash_node_base *)0xffffffff;\n        p_Var17 = p_Var5;\n      }\n      else {\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }\n      if (p_Var17 != (_Hash_node_base *)0xffffffff) {\n        local_54 = *(_Hash_node_base **)(uVar18 + 0x30);\n        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        bVar23 = *(byte *)(uVar18 + 0x2a);\n        uVar16 = bVar23 & 7;\n        bVar22 = (byte)uVar16;\n        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }\n        if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }\n        if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }\n        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }\n  ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  uVar18 = (*ppSVar28)->symtab_index_;\n  if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }\nLAB_001ed5b0:\n  ppuVar4 = local_60;\n  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;\n  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;\n  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));\n}" if (parenthesized_expression "(local_48 != (Symbol *)0x0)" ( (binary_expression "local_48 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) { (expression_statement "local_84 = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4);" (assignment_expression "local_84 = (code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4)" identifier = (cast_expression "(code *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4)" ( (binary_expression "(int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4" (cast_expression "(int)&_GLOBAL_OFFSET_TABLE_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) + identifier) )))) ;) (expression_statement "puVar26 = auStack_90 + 1;" (assignment_expression "puVar26 = auStack_90 + 1" identifier = (binary_expression "auStack_90 + 1" identifier + number_literal)) ;) do (compound_statement "{\n      uVar18 = (local_48->u2_).shndx;\n      if (((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)) {\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);\n      if (p_Var5 == (_Hash_node_base *)0x0) goto LAB_001ed5b0;\n      if (local_4c == (uchar *)0x0) {\n        local_5c = (_Hash_node_base *)0xffffffff;\n        p_Var17 = p_Var5;\n      }\n      else {\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }\n      if (p_Var17 != (_Hash_node_base *)0xffffffff) {\n        local_54 = *(_Hash_node_base **)(uVar18 + 0x30);\n        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        bVar23 = *(byte *)(uVar18 + 0x2a);\n        uVar16 = bVar23 & 7;\n        bVar22 = (byte)uVar16;\n        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }\n        if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }\n        if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }\n        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }\n  ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  uVar18 = (*ppSVar28)->symtab_index_;\n  if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }\nLAB_001ed5b0:\n  ppuVar4 = local_60;\n  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;\n  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;\n  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));\n}" { (expression_statement "uVar18 = (local_48->u2_).shndx;" (assignment_expression "uVar18 = (local_48->u2_).shndx" identifier = (field_expression "(local_48->u2_).shndx" (parenthesized_expression "(local_48->u2_)" ( (field_expression "local_48->u2_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)) {\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2))" ( (binary_expression "((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)) && (*(byte *)(uVar18 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0))" ( (binary_expression "(((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)) &&\n          (*(int *)(uVar18 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)(uVar18 + 0x2a) & 7) == 0) &&\n           (iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(uVar18 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2a) & 7)" ( (binary_expression "*(byte *)(uVar18 + 0x2a) & 7" (pointer_expression "*(byte *)(uVar18 + 0x2a)" * (cast_expression "(byte *)(uVar18 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2a)" ( (binary_expression "uVar18 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0)" ( (comma_expression "iVar25 = *(int *)(uVar18 + 8), (*(byte *)(iVar25 + 0x2c) & 1) != 0" (assignment_expression "iVar25 = *(int *)(uVar18 + 8)" identifier = (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) ))))) , (binary_expression "(*(byte *)(iVar25 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar25 + 0x2c) & 1)" ( (binary_expression "*(byte *)(iVar25 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar25 + 0x2c)" * (cast_expression "(byte *)(iVar25 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x2c)" ( (binary_expression "iVar25 + 0x2c" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(uVar18 + 0xc) == 0)" ( (binary_expression "*(int *)(uVar18 + 0xc) == 0" (pointer_expression "*(int *)(uVar18 + 0xc)" * (cast_expression "(int *)(uVar18 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0xc)" ( (binary_expression "uVar18 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(byte *)(uVar18 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(uVar18 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(uVar18 + 0x28) >> 4" (pointer_expression "*(byte *)(uVar18 + 0x28)" * (cast_expression "(byte *)(uVar18 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x28)" ( (binary_expression "uVar18 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }\n      }" { (expression_statement "pGVar2 = (*local_64)->options_;" (assignment_expression "pGVar2 = (*local_64)->options_" identifier = (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier)) ;) (if_statement "if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;" if (parenthesized_expression "(pGVar2 == (General_options *)0x0)" ( (binary_expression "pGVar2 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (if_statement "if ((pGVar2->allow_shlib_undefined_).value == false) {\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }" if (parenthesized_expression "((pGVar2->allow_shlib_undefined_).value == false)" ( (binary_expression "(pGVar2->allow_shlib_undefined_).value == false" (field_expression "(pGVar2->allow_shlib_undefined_).value" (parenthesized_expression "(pGVar2->allow_shlib_undefined_)" ( (field_expression "pGVar2->allow_shlib_undefined_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];\n          if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }\n          if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }\n        }" { (expression_statement "pTVar3 = (*local_64)->target_;" (assignment_expression "pTVar3 = (*local_64)->target_" identifier = (field_expression "(*local_64)->target_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier)) ;) (if_statement "if (pTVar3 == (Target *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(pTVar3 == (Target *)0x0)" ( (binary_expression "pTVar3 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar4 = (undefined **)pTVar3->_vptr_Target[7];" (assignment_expression "ppuVar4 = (undefined **)pTVar3->_vptr_Target[7]" identifier = (cast_expression "(undefined **)pTVar3->_vptr_Target[7]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pTVar3->_vptr_Target[7]" (field_expression "pTVar3->_vptr_Target" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar4 != local_60 + -0xdbf94) {\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }" if (parenthesized_expression "(ppuVar4 != local_60 + -0xdbf94)" ( (binary_expression "ppuVar4 != local_60 + -0xdbf94" identifier != (binary_expression "local_60 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            puVar26[-3] = uVar18;\n            puVar26[-4] = (uint)pTVar3;\n            puVar26[-5] = 0x1ed477;\n            cVar15 = (*(code *)ppuVar4)();\n            if (cVar15 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar25 = *(int *)(uVar18 + 8);\n          }" { (expression_statement "puVar26[-3] = uVar18;" (assignment_expression "puVar26[-3] = uVar18" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-4] = (uint)pTVar3;" (assignment_expression "puVar26[-4] = (uint)pTVar3" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)pTVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed477;" (assignment_expression "puVar26[-5] = 0x1ed477" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "cVar15 = (*(code *)ppuVar4)();" (assignment_expression "cVar15 = (*(code *)ppuVar4)()" identifier = (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar15 != '\0') goto LAB_001ecc58;" if (parenthesized_expression "(cVar15 != '\0')" ( (binary_expression "cVar15 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ecc58;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) goto LAB_001ed48c;" if (parenthesized_expression "((*(byte *)(uVar18 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2a) & 7)" ( (binary_expression "*(byte *)(uVar18 + 0x2a) & 7" (pointer_expression "*(byte *)(uVar18 + 0x2a)" * (cast_expression "(byte *)(uVar18 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2a)" ( (binary_expression "uVar18 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001ed48c;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(uVar18 + 8);" (assignment_expression "iVar25 = *(int *)(uVar18 + 8)" identifier = (pointer_expression "*(int *)(uVar18 + 8)" * (cast_expression "(int *)(uVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(byte *)(iVar25 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }" if (parenthesized_expression "((*(byte *)(iVar25 + 0x2c) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar25 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar25 + 0x2c) & 0x20)" ( (binary_expression "*(byte *)(iVar25 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar25 + 0x2c)" * (cast_expression "(byte *)(iVar25 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x2c)" ( (binary_expression "iVar25 + 0x2c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n            if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }\n          }" { (if_statement "if (*(int *)(iVar25 + 0x5c) == 0) {\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }" if (parenthesized_expression "(*(int *)(iVar25 + 0x5c) == 0)" ( (binary_expression "*(int *)(iVar25 + 0x5c) == 0" (pointer_expression "*(int *)(iVar25 + 0x5c)" * (cast_expression "(int *)(iVar25 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x5c)" ( (binary_expression "iVar25 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              puVar26[-1] = 0;\n              puVar26[-2] = (uint)(local_60 + -0x41bb3);\n              puVar26[-3] = 0x3e;\n              puVar26[-4] = (uint)(local_60 + -0x47464);\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = 0x1ed7db;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }" { (expression_statement "puVar26[-1] = 0;" (assignment_expression "puVar26[-1] = 0" (subscript_expression "puVar26[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41bb3);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41bb3)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41bb3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41bb3)" ( (binary_expression "local_60 + -0x41bb3" identifier + number_literal) )))) ;) (expression_statement "puVar26[-3] = 0x3e;" (assignment_expression "puVar26[-3] = 0x3e" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (uint)(local_60 + -0x47464);" (assignment_expression "puVar26[-4] = (uint)(local_60 + -0x47464)" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x47464)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x47464)" ( (binary_expression "local_60 + -0x47464" identifier + number_literal) )))) ;) comment (expression_statement "puVar26[-5] = 0x1ed7db;" (assignment_expression "puVar26[-5] = 0x1ed7db" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) })) (if_statement "if (*(int *)(iVar25 + 0x5c) != 1) {\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }" if (parenthesized_expression "(*(int *)(iVar25 + 0x5c) != 1)" ( (binary_expression "*(int *)(iVar25 + 0x5c) != 1" (pointer_expression "*(int *)(iVar25 + 0x5c)" * (cast_expression "(int *)(iVar25 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0x5c)" ( (binary_expression "iVar25 + 0x5c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              puVar26[-4] = uVar18;\n              puVar26[-5] = 0x1ed410;\n              gold_undefined_symbol((Symbol *)puVar26[-4]);\n            }" { (expression_statement "puVar26[-4] = uVar18;" (assignment_expression "puVar26[-4] = uVar18" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-5] = 0x1ed410;" (assignment_expression "puVar26[-5] = 0x1ed410" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "gold_undefined_symbol((Symbol *)puVar26[-4]);" (call_expression "gold_undefined_symbol((Symbol *)puVar26[-4])" identifier (argument_list "((Symbol *)puVar26[-4])" ( (cast_expression "(Symbol *)puVar26[-4]" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) ))) ;) })) })) })) })) (labeled_statement "LAB_001ecc58:\n      p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);" statement_identifier : (expression_statement "p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10);" (assignment_expression "p_Var5 = *(_Hash_node_base **)(uVar18 + 0x10)" identifier = (pointer_expression "*(_Hash_node_base **)(uVar18 + 0x10)" * (cast_expression "(_Hash_node_base **)(uVar18 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 0x10)" ( (binary_expression "uVar18 + 0x10" identifier + number_literal) ))))) ;)) (if_statement "if (p_Var5 == (_Hash_node_base *)0x0) goto LAB_001ed5b0;" if (parenthesized_expression "(p_Var5 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var5 == (_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_001ed5b0;" goto statement_identifier ;)) (if_statement "if (local_4c == (uchar *)0x0) {\n        local_5c = (_Hash_node_base *)0xffffffff;\n        p_Var17 = p_Var5;\n      }\n      else {\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }" if (parenthesized_expression "(local_4c == (uchar *)0x0)" ( (binary_expression "local_4c == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_5c = (_Hash_node_base *)0xffffffff;\n        p_Var17 = p_Var5;\n      }" { (expression_statement "local_5c = (_Hash_node_base *)0xffffffff;" (assignment_expression "local_5c = (_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_Var17 = p_Var5;" (assignment_expression "p_Var17 = p_Var5" identifier = identifier) ;) }) (else_clause "else {\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }" else (compound_statement "{\n        local_5c = *(_Hash_node_base **)(uVar18 + 0x14);\n        if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;\n        p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);\n      }" { (expression_statement "local_5c = *(_Hash_node_base **)(uVar18 + 0x14);" (assignment_expression "local_5c = *(_Hash_node_base **)(uVar18 + 0x14)" identifier = (pointer_expression "*(_Hash_node_base **)(uVar18 + 0x14)" * (cast_expression "(_Hash_node_base **)(uVar18 + 0x14)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 0x14)" ( (binary_expression "uVar18 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_5c == (_Hash_node_base *)0x0) goto LAB_001ed5ce;" if (parenthesized_expression "(local_5c == (_Hash_node_base *)0x0)" ( (binary_expression "local_5c == (_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_001ed5ce;" goto statement_identifier ;)) (expression_statement "p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5);" (assignment_expression "p_Var17 = (_Hash_node_base *)((uint)local_5c & (uint)p_Var5)" identifier = (cast_expression "(_Hash_node_base *)((uint)local_5c & (uint)p_Var5)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_5c & (uint)p_Var5)" ( (binary_expression "(uint)local_5c & (uint)p_Var5" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)p_Var5" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (p_Var17 != (_Hash_node_base *)0xffffffff) {\n        local_54 = *(_Hash_node_base **)(uVar18 + 0x30);\n        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        bVar23 = *(byte *)(uVar18 + 0x2a);\n        uVar16 = bVar23 & 7;\n        bVar22 = (byte)uVar16;\n        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }\n        if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }\n        if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }\n        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }\n  ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  uVar18 = (*ppSVar28)->symtab_index_;\n  if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }\nLAB_001ed5b0:\n  ppuVar4 = local_60;\n  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;\n  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;\n  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));\n}" if (parenthesized_expression "(p_Var17 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var17 != (_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 **)(uVar18 + 0x30);\n        local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);\n        pGVar2 = (*local_64)->options_;\n        if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;\n        bVar23 = *(byte *)(uVar18 + 0x2a);\n        uVar16 = bVar23 & 7;\n        bVar22 = (byte)uVar16;\n        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }\n        if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }\n        if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }\n        switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }\n  ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;\n  if (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }\n  uVar18 = (*ppSVar28)->symtab_index_;\n  if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }\nLAB_001ed5b0:\n  ppuVar4 = local_60;\n  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)((int)puVar26 + -0xc) = 0x180;\n  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;\n  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));\n}" { (expression_statement "local_54 = *(_Hash_node_base **)(uVar18 + 0x30);" (assignment_expression "local_54 = *(_Hash_node_base **)(uVar18 + 0x30)" identifier = (pointer_expression "*(_Hash_node_base **)(uVar18 + 0x30)" * (cast_expression "(_Hash_node_base **)(uVar18 + 0x30)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 0x30)" ( (binary_expression "uVar18 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(uVar18 + 0x28) >> 4)" identifier = (call_expression "(uint)(*(byte *)(uVar18 + 0x28) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(uVar18 + 0x28) >> 4)" ( (binary_expression "*(byte *)(uVar18 + 0x28) >> 4" (pointer_expression "*(byte *)(uVar18 + 0x28)" * (cast_expression "(byte *)(uVar18 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x28)" ( (binary_expression "uVar18 + 0x28" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "pGVar2 = (*local_64)->options_;" (assignment_expression "pGVar2 = (*local_64)->options_" identifier = (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier)) ;) (if_statement "if (pGVar2 == (General_options *)0x0) goto LAB_001ed61b;" if (parenthesized_expression "(pGVar2 == (General_options *)0x0)" ( (binary_expression "pGVar2 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (expression_statement "bVar23 = *(byte *)(uVar18 + 0x2a);" (assignment_expression "bVar23 = *(byte *)(uVar18 + 0x2a)" identifier = (pointer_expression "*(byte *)(uVar18 + 0x2a)" * (cast_expression "(byte *)(uVar18 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2a)" ( (binary_expression "uVar18 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "uVar16 = bVar23 & 7;" (assignment_expression "uVar16 = bVar23 & 7" identifier = (binary_expression "bVar23 & 7" identifier & number_literal)) ;) (expression_statement "bVar22 = (byte)uVar16;" (assignment_expression "bVar22 = (byte)uVar16" identifier = (cast_expression "(byte)uVar16" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {\n          if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }" if (parenthesized_expression "(((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1))" ( (binary_expression "((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)" (parenthesized_expression "((pGVar2->weak_unresolved_symbols_).value != false)" ( (binary_expression "(pGVar2->weak_unresolved_symbols_).value != false" (field_expression "(pGVar2->weak_unresolved_symbols_).value" (parenthesized_expression "(pGVar2->weak_unresolved_symbols_)" ( (field_expression "pGVar2->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 (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }\n          if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar22) goto LAB_001ed5ec;\n          p_Var17 = local_54;\n          switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          goto LAB_001ecd70;\n        }" { (if_statement "if (bVar22 == 0) {\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }" if (parenthesized_expression "(bVar22 == 0)" ( (binary_expression "bVar22 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n            if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*local_84)();\n            return;\n          }" { (expression_statement "local_58 = *(_Hash_node_base **)(uVar18 + 0xc);" (assignment_expression "local_58 = *(_Hash_node_base **)(uVar18 + 0xc)" identifier = (pointer_expression "*(_Hash_node_base **)(uVar18 + 0xc)" * (cast_expression "(_Hash_node_base **)(uVar18 + 0xc)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 0xc)" ( (binary_expression "uVar18 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))\n            {\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" if (parenthesized_expression "((local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0))" ( (binary_expression "(local_58 == (_Hash_node_base *)0x0) && ((*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_58 == (_Hash_node_base *)0x0)" ( (binary_expression "local_58 == (_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 *)(uVar18 + 0x2b) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2b) >> 5 & 1)" ( (binary_expression "*(byte *)(uVar18 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(uVar18 + 0x2b) >> 5" (pointer_expression "*(byte *)(uVar18 + 0x2b)" * (cast_expression "(byte *)(uVar18 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2b)" ( (binary_expression "uVar18 + 0x2b" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" { comment comment (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d04])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d04])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d04])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d04]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d04]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d04]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment comment (expression_statement "(*local_84)();" (call_expression "(*local_84)()" (parenthesized_expression "(*local_84)" ( (pointer_expression "*local_84" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar22 == 4) {\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" if (parenthesized_expression "(bVar22 == 4)" ( (binary_expression "bVar22 == 4" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" { comment comment (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d0a])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d0a])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d0a])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d0a]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d0a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d0a]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar22) goto LAB_001ed5ec;" if (parenthesized_expression "(4 < bVar22)" ( (binary_expression "4 < bVar22" number_literal < identifier) )) (goto_statement "goto LAB_001ed5ec;" goto statement_identifier ;)) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (switch_statement "switch(local_60[uVar16 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" switch (parenthesized_expression "(local_60[uVar16 - 0x41d09] + (int)local_60)" ( (binary_expression "local_60[uVar16 - 0x41d09] + (int)local_60" (subscript_expression "local_60[uVar16 - 0x41d09]" identifier [ (binary_expression "uVar16 - 0x41d09" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;\n          case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" { (case_statement "case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0x0;\n            break;" case (cast_expression "(undefined *)0x1ed0f0" ( (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_58 = (_Hash_node_base *)0x0;" (assignment_expression "local_58 = (_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 *)0x1ed110:\n            local_50 = 1;\n            local_58 = (_Hash_node_base *)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1ed110" ( (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_58 = (_Hash_node_base *)0xfff1;" (assignment_expression "local_58 = (_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 *)0x1ed300:\n            local_50 = 1;\n            goto LAB_001ecfc3;" case (cast_expression "(undefined *)0x1ed300" ( (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_001ecfc3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto LAB_001ecf43;" case (cast_expression "(undefined *)0x1ed310" ( (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_001ecf43;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed6e7:\n_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);\n            puVar26[-3] = 0xaa;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed705;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" case (cast_expression "(undefined *)0x1ed6e7" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1320:\n            puVar26[-2] = (uint)(local_60 + -0x41a8e);" statement_identifier : (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41a8e);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41a8e)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41a8e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41a8e)" ( (binary_expression "local_60 + -0x41a8e" identifier + number_literal) )))) ;)) (expression_statement "puVar26[-3] = 0xaa;" (assignment_expression "puVar26[-3] = 0xaa" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x11d0d2;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x11d0d2" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = 0x1ed705;" (assignment_expression "puVar26[-5] = 0x1ed705" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;)) })) (goto_statement "goto LAB_001ecd70;" goto statement_identifier ;) })) (if_statement "if (local_50 == 10) {\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }" if (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) (compound_statement "{\n          uVar24 = 1;\n          if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }\n          local_50 = uVar24;\n        }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (if_statement "if ((pGVar2->gnu_unique_).value != false) {\n            uVar24 = local_50;\n          }" if (parenthesized_expression "((pGVar2->gnu_unique_).value != false)" ( (binary_expression "(pGVar2->gnu_unique_).value != false" (field_expression "(pGVar2->gnu_unique_).value" (parenthesized_expression "(pGVar2->gnu_unique_)" ( (field_expression "pGVar2->gnu_unique_" identifier -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n            uVar24 = local_50;\n          }" { (expression_statement "uVar24 = local_50;" (assignment_expression "uVar24 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar24;" (assignment_expression "local_50 = uVar24" identifier = identifier) ;) })) (if_statement "if (4 < bVar22) {\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }" if (parenthesized_expression "(4 < bVar22)" ( (binary_expression "4 < bVar22" number_literal < identifier) )) (compound_statement "{\nLAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);\n          puVar26[-3] = 0xc9b;\n          puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[-5] = 0x1ed60a;\n          do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n        }" { (labeled_statement "LAB_001ed5ec:\n          puVar26[-2] = (uint)(local_60 + -0x41ba8);" statement_identifier : (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;)) (expression_statement "puVar26[-3] = 0xc9b;" (assignment_expression "puVar26[-3] = 0xc9b" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x10763f;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x10763f" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = 0x1ed60a;" (assignment_expression "puVar26[-5] = 0x1ed60a" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) })) (switch_statement "switch(local_60[uVar16 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }" switch (parenthesized_expression "(local_60[uVar16 - 0x41d18] + (int)local_60)" ( (binary_expression "local_60[uVar16 - 0x41d18] + (int)local_60" (subscript_expression "local_60[uVar16 - 0x41d18]" identifier [ (binary_expression "uVar16 - 0x41d18" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);\n  }" { (case_statement "case (undefined *)0x1ecd00:\n          if ((bVar23 & 7) != 0) goto _L1320;\n          local_58 = *(_Hash_node_base **)(uVar18 + 0xc);\n          bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;\n          bVar23 = bVar22 & 1;\n          p_Var17 = local_58;\n          if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;" case (cast_expression "(undefined *)0x1ecd00" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar23 & 7) != 0) goto _L1320;" if (parenthesized_expression "((bVar23 & 7) != 0)" ( (binary_expression "(bVar23 & 7) != 0" (parenthesized_expression "(bVar23 & 7)" ( (binary_expression "bVar23 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto _L1320;" goto statement_identifier ;)) (expression_statement "local_58 = *(_Hash_node_base **)(uVar18 + 0xc);" (assignment_expression "local_58 = *(_Hash_node_base **)(uVar18 + 0xc)" identifier = (pointer_expression "*(_Hash_node_base **)(uVar18 + 0xc)" * (cast_expression "(_Hash_node_base **)(uVar18 + 0xc)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 0xc)" ( (binary_expression "uVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "bVar22 = *(byte *)(uVar18 + 0x2b) >> 5;" (assignment_expression "bVar22 = *(byte *)(uVar18 + 0x2b) >> 5" identifier = (binary_expression "*(byte *)(uVar18 + 0x2b) >> 5" (pointer_expression "*(byte *)(uVar18 + 0x2b)" * (cast_expression "(byte *)(uVar18 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2b)" ( (binary_expression "uVar18 + 0x2b" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar23 = bVar22 & 1;" (assignment_expression "bVar23 = bVar22 & 1" identifier = (binary_expression "bVar22 & 1" identifier & number_literal)) ;) (expression_statement "p_Var17 = local_58;" (assignment_expression "p_Var17 = local_58" identifier = identifier) ;) (if_statement "if ((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)) {\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }" if (parenthesized_expression "((local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1))" ( (binary_expression "(local_58 != (_Hash_node_base *)0xfff1) && (bVar23 != 1)" (parenthesized_expression "(local_58 != (_Hash_node_base *)0xfff1)" ( (binary_expression "local_58 != (_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 "(bVar23 != 1)" ( (binary_expression "bVar23 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            local_7c = local_58;\n            puVar26[-4] = (uint)local_58;\n            local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);\n            puVar26[-5] = 0x1ed33f;\n            bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n            if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }\n            p_Var17 = local_7c;\n            bVar23 = (byte)local_80;\n            if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }\n          }" { (expression_statement "local_7c = local_58;" (assignment_expression "local_7c = local_58" identifier = identifier) ;) (expression_statement "puVar26[-4] = (uint)local_58;" (assignment_expression "puVar26[-4] = (uint)local_58" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);" (assignment_expression "local_80 = (_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01)" identifier = (cast_expression "(_Hash_node_base *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01)" ( (binary_expression "CONCAT31(local_80._1_3_,bVar22) & 0xffffff01" (call_expression "CONCAT31(local_80._1_3_,bVar22)" identifier (argument_list "(local_80._1_3_,bVar22)" ( (field_expression "local_80._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "puVar26[-5] = 0x1ed33f;" (assignment_expression "puVar26[-5] = 0x1ed33f" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar14 = Symbol::" (assignment_expression "bVar14 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(puVar26[-4]);" (call_expression "is_common_shndx(puVar26[-4])" identifier (argument_list "(puVar26[-4])" ( (subscript_expression "puVar26[-4]" identifier [ number_literal ]) ))) ;) (if_statement "if (!bVar14) {\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n              local_80 = local_7c;\n              puVar26[-1] = 0x1ed39d;\n              demangle((string *)*puVar26,(char *)puVar26[1]);\n              local_7c = local_34;\n              puVar26[-4] = (uint)(local_60 + -0x41d21);\n              puVar26[-5] = 0x1ed3b7;\n              uVar21 = gettext();\n              puVar26[-2] = (uint)local_80;\n              puVar26[-3] = (uint)local_7c;\n              puVar26[-4] = uVar21;\n                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */\n              puVar26[-5] = 0x1ed3cb;\n              gold_error((char *)puVar26[-4]);\n              p_Var17 = local_54;\n              if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }\n              break;\n            }" { (expression_statement "local_80 = local_7c;" (assignment_expression "local_80 = local_7c" identifier = identifier) ;) (expression_statement "puVar26[-1] = 0x1ed39d;" (assignment_expression "puVar26[-1] = 0x1ed39d" (subscript_expression "puVar26[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "demangle((string *)*puVar26,(char *)puVar26[1]);" (call_expression "demangle((string *)*puVar26,(char *)puVar26[1])" identifier (argument_list "((string *)*puVar26,(char *)puVar26[1])" ( (cast_expression "(string *)*puVar26" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar26" * identifier)) , (cast_expression "(char *)puVar26[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[1]" identifier [ number_literal ])) ))) ;) (expression_statement "local_7c = local_34;" (assignment_expression "local_7c = local_34" identifier = identifier) ;) (expression_statement "puVar26[-4] = (uint)(local_60 + -0x41d21);" (assignment_expression "puVar26[-4] = (uint)(local_60 + -0x41d21)" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41d21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41d21)" ( (binary_expression "local_60 + -0x41d21" identifier + number_literal) )))) ;) (expression_statement "puVar26[-5] = 0x1ed3b7;" (assignment_expression "puVar26[-5] = 0x1ed3b7" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar21 = gettext();" (assignment_expression "uVar21 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar26[-2] = (uint)local_80;" (assignment_expression "puVar26[-2] = (uint)local_80" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (cast_expression "(uint)local_80" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-3] = (uint)local_7c;" (assignment_expression "puVar26[-3] = (uint)local_7c" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-4] = uVar21;" (assignment_expression "puVar26[-4] = uVar21" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar26[-5] = 0x1ed3cb;" (assignment_expression "puVar26[-5] = 0x1ed3cb" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "gold_error((char *)puVar26[-4]);" (call_expression "gold_error((char *)puVar26[-4])" identifier (argument_list "((char *)puVar26[-4])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if (local_34 != local_2c) {\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n                puVar26[-4] = (uint)local_34;\n                puVar26[-5] = 0x1ed3e8;\n                operator_delete((void *)puVar26[-4]);\n                p_Var17 = local_54;\n              }" { (expression_statement "puVar26[-4] = (uint)local_34;" (assignment_expression "puVar26[-4] = (uint)local_34" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed3e8;" (assignment_expression "puVar26[-5] = 0x1ed3e8" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)puVar26[-4]);" (call_expression "operator_delete((void *)puVar26[-4])" identifier (argument_list "((void *)puVar26[-4])" ( (cast_expression "(void *)puVar26[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) ))) ;) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "p_Var17 = local_7c;" (assignment_expression "p_Var17 = local_7c" identifier = identifier) ;) (expression_statement "bVar23 = (byte)local_80;" (assignment_expression "bVar23 = (byte)local_80" identifier = (cast_expression "(byte)local_80" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((*(byte *)(uVar18 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }" if (parenthesized_expression "((*(byte *)(uVar18 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2a) & 7)" ( (binary_expression "*(byte *)(uVar18 + 0x2a) & 7" (pointer_expression "*(byte *)(uVar18 + 0x2a)" * (cast_expression "(byte *)(uVar18 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2a)" ( (binary_expression "uVar18 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);\n              puVar26[-3] = 0xa1;\n              puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n              puVar26[-5] = (uint)&UNK_001ed4aa;\n              do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n            }" { (labeled_statement "LAB_001ed48c:\n              puVar26[-2] = (uint)(local_60 + -0x41a96);" statement_identifier : (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41a96);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41a96)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41a96)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41a96)" ( (binary_expression "local_60 + -0x41a96" identifier + number_literal) )))) ;)) (expression_statement "puVar26[-3] = 0xa1;" (assignment_expression "puVar26[-3] = 0xa1" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x11d0d2;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x11d0d2" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = (uint)&UNK_001ed4aa;" (assignment_expression "puVar26[-5] = (uint)&UNK_001ed4aa" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ed4aa" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) })) })) (expression_statement "piVar8 = *(int **)(uVar18 + 8);" (assignment_expression "piVar8 = *(int **)(uVar18 + 8)" identifier = (pointer_expression "*(int **)(uVar18 + 8)" * (cast_expression "(int **)(uVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }\n          else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar8 + 0xb) & 1" (pointer_expression "*(byte *)(piVar8 + 0xb)" * (cast_expression "(byte *)(piVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xb)" ( (binary_expression "piVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar25 = *piVar8;\n            puVar26[-4] = (uint)piVar8;\n            local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);\n            pcVar9 = *(code **)(iVar25 + 0x14);\n            puVar26[-5] = 0x1ed14f;\n            local_7c = p_Var17;\n            iVar25 = (*pcVar9)();\n            if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;\n            if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }\n          }" { (expression_statement "iVar25 = *piVar8;" (assignment_expression "iVar25 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "puVar26[-4] = (uint)piVar8;" (assignment_expression "puVar26[-4] = (uint)piVar8" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23);" (assignment_expression "local_80 = (_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23)" identifier = (cast_expression "(_Hash_node_base *)CONCAT31(local_80._1_3_,bVar23)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_80._1_3_,bVar23)" identifier (argument_list "(local_80._1_3_,bVar23)" ( (field_expression "local_80._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "pcVar9 = *(code **)(iVar25 + 0x14);" (assignment_expression "pcVar9 = *(code **)(iVar25 + 0x14)" identifier = (pointer_expression "*(code **)(iVar25 + 0x14)" * (cast_expression "(code **)(iVar25 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + 0x14)" ( (binary_expression "iVar25 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar26[-5] = 0x1ed14f;" (assignment_expression "puVar26[-5] = 0x1ed14f" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c = p_Var17;" (assignment_expression "local_7c = p_Var17" identifier = identifier) ;) (expression_statement "iVar25 = (*pcVar9)();" (assignment_expression "iVar25 = (*pcVar9)()" identifier = (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)) goto _L1385;" if (parenthesized_expression "((local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0))" ( (binary_expression "(local_7c == (_Hash_node_base *)0x0) || (iVar25 != 0)" (parenthesized_expression "(local_7c == (_Hash_node_base *)0x0)" ( (binary_expression "local_7c == (_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 "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) ))) )) (goto_statement "goto _L1385;" goto statement_identifier ;)) (if_statement "if ((byte)local_80 == '\0') {\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }" if (parenthesized_expression "((byte)local_80 == '\0')" ( (binary_expression "(byte)local_80 == '\0'" (cast_expression "(byte)local_80" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              p_Var17 = local_54;\n              if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }\n            }" { (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if (local_7c != (_Hash_node_base *)0xfff1) {\n                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }" if (parenthesized_expression "(local_7c != (_Hash_node_base *)0xfff1)" ( (binary_expression "local_7c != (_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                puVar26[-4] = (uint)local_7c;\n                puVar26[-5] = 0x1ed188;\n                bVar14 = Symbol::is_common_shndx(puVar26[-4]);\n                p_Var17 = local_54;\n                if (!bVar14) goto LAB_001ed196;\n              }" { (expression_statement "puVar26[-4] = (uint)local_7c;" (assignment_expression "puVar26[-4] = (uint)local_7c" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed188;" (assignment_expression "puVar26[-5] = 0x1ed188" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "bVar14 = Symbol::" (assignment_expression "bVar14 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(puVar26[-4]);" (call_expression "is_common_shndx(puVar26[-4])" identifier (argument_list "(puVar26[-4])" ( (subscript_expression "puVar26[-4]" identifier [ number_literal ]) ))) ;) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if (!bVar14) goto LAB_001ed196;" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (goto_statement "goto LAB_001ed196;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }" else (compound_statement "{\nLAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);\n              local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }\n              local_7c = p_Var17;\n              puVar26[-2] = (uint)local_58;\n              puVar26[-3] = (uint)piVar8;\n              puVar26[-4] = (uint)this;\n              puVar26[-5] = 0x1ed1d8;\n              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);\n              ppuVar4 = local_60;\n              if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }\n              puVar26 = puVar27;\n              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;\n              if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }\n              if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }\n              if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }\n              p_Var17 = local_54;\n              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;\n            }" { (labeled_statement "LAB_001ed196:\n              p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);" statement_identifier : (expression_statement "p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60);" (assignment_expression "p_Var17 = *(_Hash_node_base **)(*piVar8 + 0x60)" identifier = (pointer_expression "*(_Hash_node_base **)(*piVar8 + 0x60)" * (cast_expression "(_Hash_node_base **)(*piVar8 + 0x60)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x60)" ( (binary_expression "*piVar8 + 0x60" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;)) (expression_statement "local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec);" (assignment_expression "local_80 = (_Hash_node_base *)(local_60 + -0xdb9ec)" identifier = (cast_expression "(_Hash_node_base *)(local_60 + -0xdb9ec)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xdb9ec)" ( (binary_expression "local_60 + -0xdb9ec" identifier + number_literal) )))) ;) (if_statement "if (p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)) {\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }\n              else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }" if (parenthesized_expression "(p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec))" ( (binary_expression "p_Var17 == (_Hash_node_base *)(local_60 + -0xdb9ec)" identifier == (cast_expression "(_Hash_node_base *)(local_60 + -0xdb9ec)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xdb9ec)" ( (binary_expression "local_60 + -0xdb9ec" identifier + number_literal) )))) )) (compound_statement "{\n                puVar27 = puVar26;\n                if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;\n                p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);\n                local_58 = local_7c;\n              }" { (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" identifier = identifier) ;) (if_statement "if ((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)\n                goto LAB_001ed7a6;" if (parenthesized_expression "((_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)" ( (binary_expression "(_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c" (cast_expression "(_Hash_node_base *)(piVar8[0xf] - piVar8[0xe] >> 2)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8[0xf] - piVar8[0xe] >> 2)" ( (binary_expression "piVar8[0xf] - piVar8[0xe] >> 2" (binary_expression "piVar8[0xf] - piVar8[0xe]" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar8[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_001ed7a6;" goto statement_identifier ;)) (expression_statement "p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4);" (assignment_expression "p_Var17 = *(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4)" identifier = (pointer_expression "*(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4)" * (cast_expression "(_Hash_node_base **)(piVar8[0xe] + (int)local_7c * 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar8[0xe] + (int)local_7c * 4)" ( (binary_expression "piVar8[0xe] + (int)local_7c * 4" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) + (binary_expression "(int)local_7c * 4" (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "local_58 = local_7c;" (assignment_expression "local_58 = local_7c" identifier = identifier) ;) }) (else_clause "else {\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }" else (compound_statement "{\n                local_58 = local_7c;\n                puVar26[-3] = (uint)local_7c;\n                puVar26[-4] = (uint)piVar8;\n                puVar26[-5] = 0x1ed55d;\n                p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();\n              }" { (expression_statement "local_58 = local_7c;" (assignment_expression "local_58 = local_7c" identifier = identifier) ;) (expression_statement "puVar26[-3] = (uint)local_7c;" (assignment_expression "puVar26[-3] = (uint)local_7c" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (cast_expression "(uint)local_7c" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-4] = (uint)piVar8;" (assignment_expression "puVar26[-4] = (uint)piVar8" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed55d;" (assignment_expression "puVar26[-5] = 0x1ed55d" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)();" (assignment_expression "p_Var17 = (_Hash_node_base *)(*(code *)p_Var17)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var17)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var17)()" (parenthesized_expression "(*(code *)p_Var17)" ( (pointer_expression "*(code *)p_Var17" * (cast_expression "(code *)p_Var17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "local_7c = p_Var17;" (assignment_expression "local_7c = p_Var17" identifier = identifier) ;) (expression_statement "puVar26[-2] = (uint)local_58;" (assignment_expression "puVar26[-2] = (uint)local_58" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-3] = (uint)piVar8;" (assignment_expression "puVar26[-3] = (uint)piVar8" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-4] = (uint)this;" (assignment_expression "puVar26[-4] = (uint)this" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed1d8;" (assignment_expression "puVar26[-5] = 0x1ed1d8" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2]);" (assignment_expression "bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2])" identifier = (call_expression "is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2])" identifier (argument_list "((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],\n                                         puVar26[-2])" ( (cast_expression "(Symbol_table *)puVar26[-4]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (cast_expression "(Relobj *)puVar26[-3]" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) , (subscript_expression "puVar26[-2]" identifier [ number_literal ]) )))) ;) (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;) (if_statement "if (bVar14) {\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }\n              else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n                puVar26[-1] = (uint)local_58;\n                puVar26[-2] = (uint)piVar8;\n                puVar26[-3] = (uint)this->icf_;\n                puVar26[-4] = (uint)&local_44;\n                puVar26[-5] = 0x1ed4d3;\n                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);\n                puVar27 = puVar26 + -1;\n                if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n                p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);\n                if (p_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }\n                puVar27 = puVar26 + -1;\n                if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }\n              }" { (expression_statement "puVar26[-1] = (uint)local_58;" (assignment_expression "puVar26[-1] = (uint)local_58" (subscript_expression "puVar26[-1]" identifier [ number_literal ]) = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-2] = (uint)piVar8;" (assignment_expression "puVar26[-2] = (uint)piVar8" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-3] = (uint)this->icf_;" (assignment_expression "puVar26[-3] = (uint)this->icf_" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (cast_expression "(uint)this->icf_" ( (type_descriptor "uint" type_identifier) ) (field_expression "this->icf_" identifier -> field_identifier))) ;) (expression_statement "puVar26[-4] = (uint)&local_44;" (assignment_expression "puVar26[-4] = (uint)&local_44" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&local_44" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed4d3;" (assignment_expression "puVar26[-5] = 0x1ed4d3" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);" statement_identifier : (ERROR ":" :) (expression_statement "get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);" (call_expression "get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1])" identifier (argument_list "((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1])" ( (cast_expression "(Icf *)puVar26[-3]" ( (type_descriptor "Icf *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) , (cast_expression "(Relobj *)puVar26[-2]" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) , (subscript_expression "puVar26[-1]" identifier [ number_literal ]) ))) ;)) (expression_statement "puVar27 = puVar26 + -1;" (assignment_expression "puVar27 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) (if_statement "if (local_44 == (int *)0x0) {\n                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-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                  puVar26[-2] = uVar18;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc53;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed721;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }" { (expression_statement "puVar26[-2] = uVar18;" (assignment_expression "puVar26[-2] = uVar18" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-3] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[-3] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[-4] = 0xc53;" (assignment_expression "puVar26[-4] = 0xc53" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-5] = (int)local_60 + -0x10763f;" (assignment_expression "puVar26[-5] = (int)local_60 + -0x10763f" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-6] = (uint)&UNK_001ed721;" (assignment_expression "puVar26[-6] = (uint)&UNK_001ed721" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ed721" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);" (call_expression "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" identifier (argument_list "((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" ( (cast_expression "(char *)puVar26[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-5]" identifier [ number_literal ])) , (subscript_expression "puVar26[-4]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) ))) ;) })) (expression_statement "p_Var17 = *(_Hash_node_base **)(*local_44 + 0x60);" (assignment_expression "p_Var17 = *(_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_Var17 == local_80) {\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }\n                else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }" if (parenthesized_expression "(p_Var17 == local_80)" ( (binary_expression "p_Var17 == local_80" identifier == identifier) )) (compound_statement "{\n                  if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }\n                  p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);\n                }" { (if_statement "if ((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }" if (parenthesized_expression "((uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40)" ( (binary_expression "(uint)(local_44[0xf] - local_44[0xe] >> 2) <= local_40" (call_expression "(uint)(local_44[0xf] - local_44[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44[0xf] - local_44[0xe] >> 2)" ( (binary_expression "local_44[0xf] - local_44[0xe] >> 2" (binary_expression "local_44[0xf] - local_44[0xe]" (subscript_expression "local_44[0xf]" identifier [ number_literal ]) - (subscript_expression "local_44[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_001ed7a6:\n                    ppuVar4 = local_60;\n                    *(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;\n                    *(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;\n                    *(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;\n                    *(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;\n                    do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;\n                  }" { (labeled_statement "LAB_001ed7a6:\n                    ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "*(_Hash_node_base **)((int)puVar27 + -4) = p_Var5;" (assignment_expression "*(_Hash_node_base **)((int)puVar27 + -4) = p_Var5" (pointer_expression "*(_Hash_node_base **)((int)puVar27 + -4)" * (cast_expression "(_Hash_node_base **)((int)puVar27 + -4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;" (assignment_expression "*(undefined ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9" (pointer_expression "*(undefined ***)((int)puVar27 + -8)" * (cast_expression "(undefined ***)((int)puVar27 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar4 + -0x41aa9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)((int)puVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;" (assignment_expression "*(undefined ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e" (pointer_expression "*(undefined ***)((int)puVar27 + -0x10)" * (cast_expression "(undefined ***)((int)puVar27 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar4 + -0x4746e" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1ed7c2" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))\n                    ;" (call_expression "do_gold_unreachable(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))" identifier (argument_list "(*(char **)((int)puVar27 + -0x10),\n                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))" ( (pointer_expression "*(char **)((int)puVar27 + -0x10)" * (cast_expression "(char **)((int)puVar27 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar27 + -0xc)" * (cast_expression "(int *)((int)puVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar27 + -8)" * (cast_expression "(char **)((int)puVar27 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4);" (assignment_expression "p_Var20 = *(_Hash_node_base **)(local_44[0xe] + local_40 * 4)" identifier = (pointer_expression "*(_Hash_node_base **)(local_44[0xe] + local_40 * 4)" * (cast_expression "(_Hash_node_base **)(local_44[0xe] + local_40 * 4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_44[0xe] + local_40 * 4)" ( (binary_expression "local_44[0xe] + local_40 * 4" (subscript_expression "local_44[0xe]" identifier [ number_literal ]) + (binary_expression "local_40 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }" else (compound_statement "{\n                  puVar26[-4] = local_40;\n                  puVar26[-5] = (uint)local_44;\n                  puVar26[-6] = 0x1ed611;\n                  p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();\n                }" { (expression_statement "puVar26[-4] = local_40;" (assignment_expression "puVar26[-4] = local_40" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-5] = (uint)local_44;" (assignment_expression "puVar26[-5] = (uint)local_44" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-6] = 0x1ed611;" (assignment_expression "puVar26[-6] = 0x1ed611" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)();" (assignment_expression "p_Var20 = (_Hash_node_base *)(*(code *)p_Var17)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var17)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var17)()" (parenthesized_expression "(*(code *)p_Var17)" ( (pointer_expression "*(code *)p_Var17" * (cast_expression "(code *)p_Var17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar27 = puVar26 + -1;" (assignment_expression "puVar27 = puVar26 + -1" identifier = (binary_expression "puVar26 + -1" identifier + number_literal)) ;) (if_statement "if (p_Var20 == (_Hash_node_base *)0x0) {\n                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }" if (parenthesized_expression "(p_Var20 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var20 == (_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                  puVar26[-2] = (uint)ppuVar4;\n                  puVar26[-3] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-4] = 0xc57;\n                  puVar26[-5] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-6] = (uint)&UNK_001ed52c;\n                  do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);\n                }" { (expression_statement "puVar26[-2] = (uint)ppuVar4;" (assignment_expression "puVar26[-2] = (uint)ppuVar4" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (cast_expression "(uint)ppuVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-3] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[-3] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[-4] = 0xc57;" (assignment_expression "puVar26[-4] = 0xc57" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-5] = (int)local_60 + -0x10763f;" (assignment_expression "puVar26[-5] = (int)local_60 + -0x10763f" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-6] = (uint)&UNK_001ed52c;" (assignment_expression "puVar26[-6] = (uint)&UNK_001ed52c" (subscript_expression "puVar26[-6]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ed52c" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);" (call_expression "do_gold_unreachable((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" identifier (argument_list "((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3])" ( (cast_expression "(char *)puVar26[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-5]" identifier [ number_literal ])) , (subscript_expression "puVar26[-4]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-3]" identifier [ number_literal ])) ))) ;) })) }) (else_clause "else {\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }" else (compound_statement "{\n                p_Var20 = local_7c;\n                puVar27 = puVar26;\n                if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }\n              }" { (expression_statement "p_Var20 = local_7c;" (assignment_expression "p_Var20 = local_7c" identifier = identifier) ;) (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" identifier = identifier) ;) (if_statement "if (local_7c == (_Hash_node_base *)0x0) {\n                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }" if (parenthesized_expression "(local_7c == (_Hash_node_base *)0x0)" ( (binary_expression "local_7c == (_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                  puVar26[-1] = (uint)local_58;\n                  puVar26[-2] = (uint)(local_60 + -0x41ba8);\n                  puVar26[-3] = 0xc59;\n                  puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n                  puVar26[-5] = 0x1ed77b;\n                  do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n                }" { (expression_statement "puVar26[-1] = (uint)local_58;" (assignment_expression "puVar26[-1] = (uint)local_58" (subscript_expression "puVar26[-1]" identifier [ number_literal ]) = (cast_expression "(uint)local_58" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[-3] = 0xc59;" (assignment_expression "puVar26[-3] = 0xc59" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x10763f;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x10763f" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = 0x1ed77b;" (assignment_expression "puVar26[-5] = 0x1ed77b" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) })) }))) (expression_statement "puVar26 = puVar27;" (assignment_expression "puVar26 = puVar27" identifier = identifier) ;) (expression_statement "p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;" (assignment_expression "p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt" identifier = (field_expression "p_Var20->_M_nxt[0xb]._M_nxt" (subscript_expression "p_Var20->_M_nxt[0xb]" (field_expression "p_Var20->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)) {\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }\n              else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }" if (parenthesized_expression "(p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68))" ( (binary_expression "p_Var17 == (_Hash_node_base *)(local_60 + -0xcba68)" identifier == (cast_expression "(_Hash_node_base *)(local_60 + -0xcba68)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + -0xcba68)" ( (binary_expression "local_60 + -0xcba68" identifier + number_literal) )))) )) (compound_statement "{\n                local_58 = p_Var20[0x18]._M_nxt;\n                if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }\n              }" { (expression_statement "local_58 = p_Var20[0x18]._M_nxt;" (assignment_expression "local_58 = p_Var20[0x18]._M_nxt" identifier = (field_expression "p_Var20[0x18]._M_nxt" (subscript_expression "p_Var20[0x18]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }" if (parenthesized_expression "(p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var20[0x18]._M_nxt == (_Hash_node_base *)0xffffffff" (field_expression "p_Var20[0x18]._M_nxt" (subscript_expression "p_Var20[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_001ed7db:\n                  ppuVar4 = local_60;\n                  *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)((int)puVar26 + -0xc) = 0x1043;\n                  *(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;\n                  do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));\n                }" { (labeled_statement "LAB_001ed7db:\n                  ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bb7" (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 "local_60 + -0x41bb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0x1043" (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) = ppuVar4 + -0x47469;" (assignment_expression "*(undefined ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469" (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 "ppuVar4 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;" (assignment_expression "*(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9" (pointer_expression "*(undefined1 **)((int)puVar26 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar26 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (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) )))) = (pointer_expression "&LAB_001ed7f9" & identifier)) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)\n                                      ,*(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) )))) ))) ;) })) }) (else_clause "else {\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }" else (compound_statement "{\n                *(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;\n                local_7c = p_Var20;\n                local_58 = (_Hash_node_base *)(*(code *)p_Var17)();\n                p_Var20 = local_7c;\n              }" { (expression_statement "*(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -0x10) = p_Var20" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -0x10)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed545" (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 "local_7c = p_Var20;" (assignment_expression "local_7c = p_Var20" identifier = identifier) ;) (expression_statement "local_58 = (_Hash_node_base *)(*(code *)p_Var17)();" (assignment_expression "local_58 = (_Hash_node_base *)(*(code *)p_Var17)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var17)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var17)()" (parenthesized_expression "(*(code *)p_Var17)" ( (pointer_expression "*(code *)p_Var17" * (cast_expression "(code *)p_Var17" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "p_Var20 = local_7c;" (assignment_expression "p_Var20 = local_7c" identifier = identifier) ;) }))) (if_statement "if ((_Hash_node_base *)0xfeff < local_58) {\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }" if (parenthesized_expression "((_Hash_node_base *)0xfeff < local_58)" ( (binary_expression "(_Hash_node_base *)0xfeff < local_58" (cast_expression "(_Hash_node_base *)0xfeff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }\n                if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }\n              }" { (if_statement "if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }" if (parenthesized_expression "(p_Var5 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var5 != (_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_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  local_7c = p_Var20;\n                  local_34 = p_Var5;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  p_Var20 = local_7c;\n                }" { (expression_statement "local_30 = local_58;" (assignment_expression "local_30 = local_58" identifier = identifier) ;) (expression_statement "*(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;" (assignment_expression "*(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34" (pointer_expression "*(_Hash_node_base ***)((int)puVar26 + -0xc)" * (cast_expression "(_Hash_node_base ***)((int)puVar26 + -0xc)" ( (type_descriptor "_Hash_node_base ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (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 "&local_34" & identifier)) ;) (expression_statement "local_7c = p_Var20;" (assignment_expression "local_7c = p_Var20" identifier = identifier) ;) (expression_statement "local_34 = p_Var5;" (assignment_expression "local_34 = p_Var5" identifier = identifier) ;) (expression_statement "*(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;" (assignment_expression "*(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_" (pointer_expression "*(Xindex_entries **)((int)puVar26 + -0x10)" * (cast_expression "(Xindex_entries **)((int)puVar26 + -0x10)" ( (type_descriptor "Xindex_entries **" type_identifier (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 "&symtab_xindex->entries_" & (field_expression "symtab_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed241" (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) ;) (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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc))" ( (comma_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc)" (pointer_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -0x10)" * (call_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -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)puVar26 + -0x10)" ( (binary_expression "(int)puVar26 + -0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc)" * (call_expression "(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0xc)" ( (binary_expression "(int)puVar26 + -0xc" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) (expression_statement "p_Var20 = local_7c;" (assignment_expression "p_Var20 = local_7c" identifier = identifier) ;) })) (if_statement "if (local_5c == (_Hash_node_base *)0xffffffff) {\n                  local_58 = (_Hash_node_base *)0xffff;\n                }\n                else {\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }" if (parenthesized_expression "(local_5c == (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_5c == (_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_58 = (_Hash_node_base *)0xffff;\n                }" { (expression_statement "local_58 = (_Hash_node_base *)0xffff;" (assignment_expression "local_58 = (_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_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }" else (compound_statement "{\n                  local_34 = local_5c;\n                  local_7c = p_Var20;\n                  local_30 = local_58;\n                  *(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;\n                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;\n                  *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;\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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));\n                  local_58 = (_Hash_node_base *)0xffff;\n                  p_Var20 = local_7c;\n                }" { (expression_statement "local_34 = local_5c;" (assignment_expression "local_34 = local_5c" identifier = identifier) ;) (expression_statement "local_7c = p_Var20;" (assignment_expression "local_7c = p_Var20" identifier = identifier) ;) (expression_statement "local_30 = local_58;" (assignment_expression "local_30 = local_58" identifier = identifier) ;) (expression_statement "*(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34;" (assignment_expression "*(_Hash_node_base ***)((int)puVar26 + -0xc) = &local_34" (pointer_expression "*(_Hash_node_base ***)((int)puVar26 + -0xc)" * (cast_expression "(_Hash_node_base ***)((int)puVar26 + -0xc)" ( (type_descriptor "_Hash_node_base ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (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 "&local_34" & identifier)) ;) (expression_statement "*(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;" (assignment_expression "*(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_" (pointer_expression "*(Xindex_entries **)((int)puVar26 + -0x10)" * (cast_expression "(Xindex_entries **)((int)puVar26 + -0x10)" ( (type_descriptor "Xindex_entries **" type_identifier (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 "&dynsym_xindex->entries_" & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed272" (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) ;) (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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc))" ( (comma_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -0x10),\n                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc)" (pointer_expression "*(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -0x10)" * (call_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                               **)((int)puVar26 + -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)puVar26 + -0x10)" ( (binary_expression "(int)puVar26 + -0x10" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc)" * (call_expression "(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -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)puVar26 + -0xc)" ( (binary_expression "(int)puVar26 + -0xc" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;)) (expression_statement "local_58 = (_Hash_node_base *)0xffff;" (assignment_expression "local_58 = (_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_Var20 = local_7c;" (assignment_expression "p_Var20 = local_7c" identifier = identifier) ;) }))) })) (if_statement "if ((*local_64)->options_ == (General_options *)0x0) {\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }" if (parenthesized_expression "((*local_64)->options_ == (General_options *)0x0)" ( (binary_expression "(*local_64)->options_ == (General_options *)0x0" (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ed61b:\n                ppuVar4 = local_60;\n                *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)((int)puVar26 + -0xc) = 0x5c;\n                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;\n                do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));\n              }" { (labeled_statement "LAB_001ed61b:\n                ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41a86" (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 "local_60 + -0x41a86" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0x5c" (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 "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;" (assignment_expression "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93" (pointer_expression "*(int *)((int)puVar26 + -0x10)" * (cast_expression "(int *)((int)puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (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 "(int)ppuVar4 + -0x131d93" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed636" (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),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                    *(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 "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;" if (parenthesized_expression "(((*local_64)->options_->relocatable_).value != false)" ( (binary_expression "((*local_64)->options_->relocatable_).value != false" (field_expression "((*local_64)->options_->relocatable_).value" (parenthesized_expression "((*local_64)->options_->relocatable_)" ( (field_expression "(*local_64)->options_->relocatable_" (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_001ed06b;" goto statement_identifier ;)) }))) }) (else_clause "else {\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }" else (compound_statement "{\n            p_Var17 = local_54;\n            if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }\n            local_58 = (_Hash_node_base *)0x0;\n            local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0);\n          }" { (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if ((*(byte *)(uVar18 + 0x2b) & 2) != 0) {\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }" if (parenthesized_expression "((*(byte *)(uVar18 + 0x2b) & 2) != 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2b) & 2)" ( (binary_expression "*(byte *)(uVar18 + 0x2b) & 2" (pointer_expression "*(byte *)(uVar18 + 0x2b)" * (cast_expression "(byte *)(uVar18 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2b)" ( (binary_expression "uVar18 + 0x2b" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              pp_Var6 = local_88->_vptr_Target;\n              puVar26[-3] = uVar18;\n              puVar26[-4] = (uint)local_88;\n              p_Var7 = pp_Var6[5];\n              puVar26[-5] = 0x1ecd52;\n              p_Var17 = (_Hash_node_base *)(*p_Var7)();\n            }" { (expression_statement "pp_Var6 = local_88->_vptr_Target;" (assignment_expression "pp_Var6 = local_88->_vptr_Target" identifier = (field_expression "local_88->_vptr_Target" identifier -> field_identifier)) ;) (expression_statement "puVar26[-3] = uVar18;" (assignment_expression "puVar26[-3] = uVar18" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[-4] = (uint)local_88;" (assignment_expression "puVar26[-4] = (uint)local_88" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)local_88" ( (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 "puVar26[-5] = 0x1ecd52;" (assignment_expression "puVar26[-5] = 0x1ecd52" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "p_Var17 = (_Hash_node_base *)(*p_Var7)();" (assignment_expression "p_Var17 = (_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 "local_58 = (_Hash_node_base *)0x0;" (assignment_expression "local_58 = (_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 *)(uVar18 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)(uVar18 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(uVar18 + 0x2c) >> 1 & 1)" ( (binary_expression "*(byte *)(uVar18 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(uVar18 + 0x2c) >> 1" (pointer_expression "*(byte *)(uVar18 + 0x2c)" * (cast_expression "(byte *)(uVar18 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 0x2c)" ( (binary_expression "uVar18 + 0x2c" identifier + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecf40:\n          bVar22 = bVar23 & 7;\nLAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          puVar26[-4] = *(undefined4 *)(uVar18 + 8);\n          puVar26[-5] = 0x1ecf5a;\n          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);\n          if (pOVar19 == (Output_section *)0x0) goto _L1392;\n          ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];\n          if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }\n          break;" case (cast_expression "(undefined *)0x1ecf40" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar22 = bVar23 & 7;" (assignment_expression "bVar22 = bVar23 & 7" identifier = (binary_expression "bVar23 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_001ecf43:\n          if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" statement_identifier : (if_statement "if (bVar22 != 2) {\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" if (parenthesized_expression "(bVar22 != 2)" ( (binary_expression "bVar22 != 2" identifier != number_literal) )) (compound_statement "{\n            puVar26[-2] = (uint)(local_60 + -0x41b8b);\n            puVar26[-3] = 200;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed58e;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" { (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41b8b);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41b8b)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41b8b)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41b8b)" ( (binary_expression "local_60 + -0x41b8b" identifier + number_literal) )))) ;) (expression_statement "puVar26[-3] = 200;" (assignment_expression "puVar26[-3] = 200" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x11d0d2;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x11d0d2" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = (uint)&UNK_001ed58e;" (assignment_expression "puVar26[-5] = (uint)&UNK_001ed58e" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ed58e" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "puVar26[-4] = *(undefined4 *)(uVar18 + 8);" (assignment_expression "puVar26[-4] = *(undefined4 *)(uVar18 + 8)" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(uVar18 + 8)" * (cast_expression "(undefined4 *)(uVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar26[-5] = 0x1ecf5a;" (assignment_expression "puVar26[-5] = 0x1ecf5a" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (ERROR "pOVar19 = Output_segment::" (assignment_expression "pOVar19 = Output_segment" identifier = identifier) : :) (expression_statement "first_section((Output_segment *)puVar26[-4]);" (call_expression "first_section((Output_segment *)puVar26[-4])" identifier (argument_list "((Output_segment *)puVar26[-4])" ( (cast_expression "(Output_segment *)puVar26[-4]" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) ))) ;) (if_statement "if (pOVar19 == (Output_section *)0x0) goto _L1392;" if (parenthesized_expression "(pOVar19 == (Output_section *)0x0)" ( (binary_expression "pOVar19 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto _L1392;" goto statement_identifier ;)) (expression_statement "ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];" (assignment_expression "ppuVar4 = (undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb]" identifier = (cast_expression "(undefined **)(pOVar19->super_Output_data)._vptr_Output_data[0xb]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "(pOVar19->super_Output_data)._vptr_Output_data[0xb]" (field_expression "(pOVar19->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar19->super_Output_data)" ( (field_expression "pOVar19->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar4 == local_60 + -0xcba68) {\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }\n          else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }" if (parenthesized_expression "(ppuVar4 == local_60 + -0xcba68)" ( (binary_expression "ppuVar4 == local_60 + -0xcba68" identifier == (binary_expression "local_60 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_58 = (_Hash_node_base *)pOVar19->out_shndx_;\n            p_Var17 = local_54;\n            if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;\n          }" { (expression_statement "local_58 = (_Hash_node_base *)pOVar19->out_shndx_;" (assignment_expression "local_58 = (_Hash_node_base *)pOVar19->out_shndx_" identifier = (cast_expression "(_Hash_node_base *)pOVar19->out_shndx_" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar19->out_shndx_" identifier -> field_identifier))) ;) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (if_statement "if ((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)\n            goto LAB_001ed7db;" if (parenthesized_expression "((_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff)" ( (binary_expression "(_Hash_node_base *)pOVar19->out_shndx_ == (_Hash_node_base *)0xffffffff" (cast_expression "(_Hash_node_base *)pOVar19->out_shndx_" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar19->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_001ed7db;" goto statement_identifier ;)) }) (else_clause "else {\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }" else (compound_statement "{\n            puVar26[-4] = (uint)pOVar19;\n            puVar26[-5] = 0x1ed366;\n            local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();\n            p_Var17 = local_54;\n          }" { (expression_statement "puVar26[-4] = (uint)pOVar19;" (assignment_expression "puVar26[-4] = (uint)pOVar19" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)pOVar19" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[-5] = 0x1ed366;" (assignment_expression "puVar26[-5] = 0x1ed366" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = (_Hash_node_base *)(*(code *)ppuVar4)();" (assignment_expression "local_58 = (_Hash_node_base *)(*(code *)ppuVar4)()" identifier = (cast_expression "(_Hash_node_base *)(*(code *)ppuVar4)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "p_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfa0:\n_L1385:\n          local_58 = (_Hash_node_base *)0x0;\n          p_Var17 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfa0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1385:\n          local_58 = (_Hash_node_base *)0x0;" statement_identifier : (expression_statement "local_58 = (_Hash_node_base *)0x0;" (assignment_expression "local_58 = (_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_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfb0:\n_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;\n          p_Var17 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfb0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "_L1392:\n          local_58 = (_Hash_node_base *)0xfff1;" statement_identifier : (expression_statement "local_58 = (_Hash_node_base *)0xfff1;" (assignment_expression "local_58 = (_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_Var17 = local_54;" (assignment_expression "p_Var17 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfc0:\n          bVar22 = bVar23 & 7;\nLAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\n          piVar8 = *(int **)(uVar18 + 8);\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x2c);\n          puVar26[-5] = 0x1ecfd8;\n          local_58 = (_Hash_node_base *)(*pcVar9)();\n          if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    } while ((Symbol *)*pp_Var12 != (Symbol *)0x0);" case (cast_expression "(undefined *)0x1ecfc0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar22 = bVar23 & 7;" (assignment_expression "bVar22 = bVar23 & 7" identifier = (binary_expression "bVar23 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_001ecfc3:\n          if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" statement_identifier : (if_statement "if (bVar22 != 1) {\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" if (parenthesized_expression "(bVar22 != 1)" ( (binary_expression "bVar22 != 1" identifier != number_literal) )) (compound_statement "{\n            puVar26[-2] = (uint)(local_60 + -0x41b7d);\n            puVar26[-3] = 0xb5;\n            puVar26[-4] = (int)local_60 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = (uint)&UNK_001ed5ae;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" { (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41b7d);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41b7d)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41b7d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41b7d)" ( (binary_expression "local_60 + -0x41b7d" identifier + number_literal) )))) ;) (expression_statement "puVar26[-3] = 0xb5;" (assignment_expression "puVar26[-3] = 0xb5" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x11d0d2;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x11d0d2" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = (uint)&UNK_001ed5ae;" (assignment_expression "puVar26[-5] = (uint)&UNK_001ed5ae" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = (binary_expression "(uint)&UNK_001ed5ae" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "piVar8 = *(int **)(uVar18 + 8);" (assignment_expression "piVar8 = *(int **)(uVar18 + 8)" identifier = (pointer_expression "*(int **)(uVar18 + 8)" * (cast_expression "(int **)(uVar18 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar18 + 8)" ( (binary_expression "uVar18 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = *piVar8;" (assignment_expression "iVar25 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "puVar26[-4] = (uint)piVar8;" (assignment_expression "puVar26[-4] = (uint)piVar8" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pcVar9 = *(code **)(iVar25 + 0x2c);" (assignment_expression "pcVar9 = *(code **)(iVar25 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar25 + 0x2c)" * (cast_expression "(code **)(iVar25 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + 0x2c)" ( (binary_expression "iVar25 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "puVar26[-5] = 0x1ecfd8;" (assignment_expression "puVar26[-5] = 0x1ecfd8" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_58 = (_Hash_node_base *)(*pcVar9)();" (assignment_expression "local_58 = (_Hash_node_base *)(*pcVar9)()" identifier = (cast_expression "(_Hash_node_base *)(*pcVar9)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if ((_Hash_node_base *)0xfeff < local_58) {\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    }" if (parenthesized_expression "((_Hash_node_base *)0xfeff < local_58)" ( (binary_expression "(_Hash_node_base *)0xfeff < local_58" (cast_expression "(_Hash_node_base *)0xfeff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n            if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }\n            if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }\n      pp_Var12 = (_Hash_node_base **)&local_48->name_;\n      local_48 = (Symbol *)*pp_Var12;\n    }" { (if_statement "if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }" if (parenthesized_expression "(p_Var5 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var5 != (_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_58;\n              puVar26[-3] = (uint)&local_34;\n              local_34 = p_Var5;\n              puVar26[-4] = (uint)&symtab_xindex->entries_;\n              puVar26[-5] = 0x1ed003;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n            }" { (expression_statement "local_30 = local_58;" (assignment_expression "local_30 = local_58" identifier = identifier) ;) (expression_statement "puVar26[-3] = (uint)&local_34;" (assignment_expression "puVar26[-3] = (uint)&local_34" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (binary_expression "(uint)&local_34" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "local_34 = p_Var5;" (assignment_expression "local_34 = p_Var5" identifier = identifier) ;) (expression_statement "puVar26[-4] = (uint)&symtab_xindex->entries_;" (assignment_expression "puVar26[-4] = (uint)&symtab_xindex->entries_" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&symtab_xindex->entries_" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "symtab_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "puVar26[-5] = 0x1ed003;" (assignment_expression "puVar26[-5] = 0x1ed003" (subscript_expression "puVar26[-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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" (binary_expression "_unsigned_int>_>_>\n                          *)puVar26[-4]" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "*)puVar26[-4]" * (ERROR ")" )) (subscript_expression "puVar26[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" ( (comma_expression "pair<unsigned_int,_unsigned_int> *)puVar26[-3]" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *)puVar26[-3]" identifier > (pointer_expression "*)puVar26[-3]" * (ERROR ")" )) (subscript_expression "puVar26[-3]" identifier [ number_literal ])))) ))))) ;)) })) (if_statement "if (local_5c == (_Hash_node_base *)0xffffffff) {\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n            else {\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }" if (parenthesized_expression "(local_5c == (_Hash_node_base *)0xffffffff)" ( (binary_expression "local_5c == (_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_58 = (_Hash_node_base *)0xffff;\n            }" { (expression_statement "local_58 = (_Hash_node_base *)0xffff;" (assignment_expression "local_58 = (_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_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }" else (compound_statement "{\n              local_34 = local_5c;\n              local_30 = local_58;\n              puVar26[-3] = (uint)&local_34;\n              puVar26[-4] = (uint)&dynsym_xindex->entries_;\n              puVar26[-5] = 0x1ed02e;\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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff) {\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }\n      }" { (expression_statement "local_34 = local_5c;" (assignment_expression "local_34 = local_5c" identifier = identifier) ;) (expression_statement "local_30 = local_58;" (assignment_expression "local_30 = local_58" identifier = identifier) ;) (expression_statement "puVar26[-3] = (uint)&local_34;" (assignment_expression "puVar26[-3] = (uint)&local_34" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = (binary_expression "(uint)&local_34" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "puVar26[-4] = (uint)&dynsym_xindex->entries_;" (assignment_expression "puVar26[-4] = (uint)&dynsym_xindex->entries_" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(uint)&dynsym_xindex->entries_" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "dynsym_xindex->entries_" identifier -> field_identifier))) ;) (expression_statement "puVar26[-5] = 0x1ed02e;" (assignment_expression "puVar26[-5] = 0x1ed02e" (subscript_expression "puVar26[-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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)0xffffffff)" ( (parenthesized_expression "(vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff) {\n          if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }\n        if (local_5c != (_Hash_node_base *)" ( (ERROR "vector<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);\n              local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0) goto LAB_001ed61b;\n          p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false) break;\n          iVar25 = *piVar8;\n          puVar26[-4] = (uint)piVar8;\n          pcVar9 = *(code **)(iVar25 + 0x24);\n          puVar26[-5] = 0x1ed05e;\n          p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0) {\n            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }\nLAB_001ed06b:\n          p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt);\n        }\nLAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff)" (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                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" (binary_expression "pair<unsigned_int" identifier < identifier) , (comma_expression "_unsigned_int>_>_>\n                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" (binary_expression "_unsigned_int>_>_>\n                          *)puVar26[-4]" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "*)puVar26[-4]" * (ERROR ")" )) (subscript_expression "puVar26[-4]" identifier [ number_literal ]))) , (parenthesized_expression "(pair<unsigned_int,_unsigned_int> *)puVar26[-3])" ( (comma_expression "pair<unsigned_int,_unsigned_int> *)puVar26[-3]" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int> *)puVar26[-3]" identifier > (pointer_expression "*)puVar26[-3]" * (ERROR ")" )) (subscript_expression "puVar26[-3]" identifier [ number_literal ])))) )))) ; (call_expression "local_58 = (_Hash_node_base *)0xffff;\n            }\n          }\n          if ((*local_64)->options_ == (General_options *)0x0)" (assignment_expression "local_58 = (_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_64)->options_ == (General_options *)0x0)" ( (binary_expression "(*local_64)->options_ == (General_options *)0x0" (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) identifier identifier ; (call_expression "p_Var17 = local_54;\n          if (((*local_64)->options_->relocatable_).value == false)" (assignment_expression "p_Var17 = local_54" identifier = identifier) (ERROR ";\n          if" ; if) (argument_list "(((*local_64)->options_->relocatable_).value == false)" ( (binary_expression "((*local_64)->options_->relocatable_).value == false" (field_expression "((*local_64)->options_->relocatable_).value" (parenthesized_expression "((*local_64)->options_->relocatable_)" ( (field_expression "(*local_64)->options_->relocatable_" (field_expression "(*local_64)->options_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier) -> field_identifier) )) . field_identifier) == false) ))) identifier ; (assignment_expression "iVar25 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ; (assignment_expression "puVar26[-4] = (uint)piVar8" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (cast_expression "(uint)piVar8" ( (type_descriptor "uint" type_identifier) ) identifier)) ; (assignment_expression "pcVar9 = *(code **)(iVar25 + 0x24)" identifier = (pointer_expression "*(code **)(iVar25 + 0x24)" * (cast_expression "(code **)(iVar25 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + 0x24)" ( (binary_expression "iVar25 + 0x24" identifier + number_literal) ))))) ; (assignment_expression "puVar26[-5] = 0x1ed05e" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ; (call_expression "p_Var20 = (_Hash_node_base *)(*pcVar9)();\n          if (p_Var20 == (_Hash_node_base *)0x0)" (assignment_expression "p_Var20 = (_Hash_node_base *)(*pcVar9)()" identifier = (cast_expression "(_Hash_node_base *)(*pcVar9)()" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))))) (ERROR ";\n          if" ; if) (argument_list "(p_Var20 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var20 == (_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            puVar26[-2] = (uint)(local_60 + -0x41ba8);\n            puVar26[-3] = 0xc81;\n            puVar26[-4] = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            puVar26[-5] = 0x1ed7a6;\n            do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);\n          }" { (expression_statement "puVar26[-2] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[-2] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[-2]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[-3] = 0xc81;" (assignment_expression "puVar26[-3] = 0xc81" (subscript_expression "puVar26[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[-4] = (int)local_60 + -0x10763f;" (assignment_expression "puVar26[-4] = (int)local_60 + -0x10763f" (subscript_expression "puVar26[-4]" identifier [ number_literal ]) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[-5] = 0x1ed7a6;" (assignment_expression "puVar26[-5] = 0x1ed7a6" (subscript_expression "puVar26[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);" (call_expression "do_gold_unreachable((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" identifier (argument_list "((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2])" ( (cast_expression "(char *)puVar26[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-4]" identifier [ number_literal ])) , (subscript_expression "puVar26[-3]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[-2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[-2]" identifier [ number_literal ])) ))) ;) }) identifier : (call_expression "p_Var17 = local_54;\n          if (((uint)p_Var20[7]._M_nxt & 1) == 0)" (assignment_expression "p_Var17 = local_54" identifier = identifier) (ERROR ";\n          if" ; if) (argument_list "(((uint)p_Var20[7]._M_nxt & 1) == 0)" ( (binary_expression "((uint)p_Var20[7]._M_nxt & 1) == 0" (parenthesized_expression "((uint)p_Var20[7]._M_nxt & 1)" ( (binary_expression "(uint)p_Var20[7]._M_nxt & 1" (cast_expression "(uint)p_Var20[7]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var20[7]._M_nxt" (subscript_expression "p_Var20[7]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) ))) (compound_statement "{\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b7f" (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 "local_60 + -0x41b7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0xc5" (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) = local_60 + -0x47469;" (assignment_expression "*(undefined ***)((int)puVar26 + -0x10) = local_60 + -0x47469" (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 "local_60 + -0x47469" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed746" (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),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(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) )))) ))) ;) }) (assignment_expression "local_54 = (_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt)" identifier = (cast_expression "(_Hash_node_base *)((int)local_54 - (int)p_Var20[1]._M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 - (int)p_Var20[1]._M_nxt)" ( (binary_expression "(int)local_54 - (int)p_Var20[1]._M_nxt" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var20[1]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var20[1]._M_nxt" (subscript_expression "p_Var20[1]" identifier [ number_literal ]) . field_identifier))) )))) ; } (call_expression "LAB_001ecd70:\n        if (p_Var5 != (_Hash_node_base *)0xffffffff)" identifier (ERROR ":\n        if" : if) (argument_list "(p_Var5 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var5 != (_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_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          local_7c = p_Var17;\n          *(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;\n          *(Stringpool **)((int)puVar26 + -0xc) = sympool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          p_Var17 = local_7c;\n        }" { (if_statement "if (local_68 <= (int)p_Var5 - local_6c) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }" if (parenthesized_expression "(local_68 <= (int)p_Var5 - local_6c)" ( (binary_expression "local_68 <= (int)p_Var5 - local_6c" identifier <= (binary_expression "(int)p_Var5 - local_6c" (cast_expression "(int)p_Var5" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xca1;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0xca1" (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 "*(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)((int)puVar26 + -0x10)" * (cast_expression "(int *)((int)puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (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 "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6c9" (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),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(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_7c = p_Var17;" (assignment_expression "local_7c = p_Var17" identifier = identifier) ;) (expression_statement "*(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;" (assignment_expression "*(uchar **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10" (pointer_expression "*(uchar **)((int)puVar26 + -8)" * (cast_expression "(uchar **)((int)puVar26 + -8)" ( (type_descriptor "uchar **" type_identifier (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 "local_78 + ((int)p_Var5 - local_6c) * 0x10" identifier + (binary_expression "((int)p_Var5 - local_6c) * 0x10" (parenthesized_expression "((int)p_Var5 - local_6c)" ( (binary_expression "(int)p_Var5 - local_6c" (cast_expression "(int)p_Var5" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(Stringpool **)((int)puVar26 + -0xc) = sympool;" (assignment_expression "*(Stringpool **)((int)puVar26 + -0xc) = sympool" (pointer_expression "*(Stringpool **)((int)puVar26 + -0xc)" * (cast_expression "(Stringpool **)((int)puVar26 + -0xc)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (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) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar26 + -0x10) = local_50;" (assignment_expression "*(uint *)((int)puVar26 + -0x10) = local_50" (pointer_expression "*(uint *)((int)puVar26 + -0x10)" * (cast_expression "(uint *)((int)puVar26 + -0x10)" ( (type_descriptor "uint *" type_identifier (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) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -0x14) = local_58" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -0x14)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -0x14)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (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) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar26 + -0x18) = local_54;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -0x18) = local_54" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -0x18)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -0x18)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x18)" ( (binary_expression "(int)puVar26 + -0x18" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar26 + -0x1c) = uVar18;" (assignment_expression "*(uint *)((int)puVar26 + -0x1c) = uVar18" (pointer_expression "*(uint *)((int)puVar26 + -0x1c)" * (cast_expression "(uint *)((int)puVar26 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x1c)" ( (binary_expression "(int)puVar26 + -0x1c" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar26 + -0x20) = this;" (assignment_expression "*(Symbol_table **)((int)puVar26 + -0x20) = this" (pointer_expression "*(Symbol_table **)((int)puVar26 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar26 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x20)" ( (binary_expression "(int)puVar26 + -0x20" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x24) = 0x1ecda3" (pointer_expression "*(undefined4 *)((int)puVar26 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar26 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x24)" ( (binary_expression "(int)puVar26 + -0x24" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));" (comma_expression "sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" (binary_expression "sized_write_symbol<32" identifier < number_literal) , (binary_expression "_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" identifier > (parenthesized_expression "(*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" ( (comma_expression "*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Symbol_table **)((int)puVar26 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar26 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x20)" ( (binary_expression "(int)puVar26 + -0x20" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Sized_symbol<32> **)((int)puVar26 + -0x1c)" * (call_expression "(Sized_symbol<32> **)((int)puVar26 + -0x1c)" (parenthesized_expression "(Sized_symbol<32> **)" ( (binary_expression "Sized_symbol<32> **" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar26 + -0x1c)" ( (binary_expression "(int)puVar26 + -0x1c" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Elf_Addr *)((int)puVar26 + -0x18)" * (cast_expression "(Elf_Addr *)((int)puVar26 + -0x18)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x18)" ( (binary_expression "(int)puVar26 + -0x18" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(uint *)((int)puVar26 + -0x14)" * (cast_expression "(uint *)((int)puVar26 + -0x14)" ( (type_descriptor "uint *" 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) )))) , (comma_expression "*(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(STB *)((int)puVar26 + -0x10)" * (cast_expression "(STB *)((int)puVar26 + -0x10)" ( (type_descriptor "STB *" type_identifier (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) )))) , (comma_expression "*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Stringpool **)((int)puVar26 + -0xc)" * (cast_expression "(Stringpool **)((int)puVar26 + -0xc)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (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 "*(uchar **)((int)puVar26 + -8)" * (cast_expression "(uchar **)((int)puVar26 + -8)" ( (type_descriptor "uchar **" type_identifier (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 "p_Var17 = local_7c;" (assignment_expression "p_Var17 = local_7c" identifier = identifier) ;) }) (ERROR "if (local_5c != (_Hash_node_base *" if ( identifier != ( identifier *) )) (ERROR "0xffffffff" number_literal) )))) ;)) (compound_statement "{\n          if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }\n          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(uchar **)((int)puVar26 + -8) = puVar1;\n          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;\n          *(uint *)((int)puVar26 + -0x10) = local_50;\n          *(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;\n          *(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;\n          *(uint *)((int)puVar26 + -0x1c) = uVar18;\n          *(Symbol_table **)((int)puVar26 + -0x20) = this;\n          *(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;\n          sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));\n          pTVar3 = (*local_64)->target_;\n          if (pTVar3 == (Target *)0x0) goto LAB_001ed672;\n          ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];\n          if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }\n        }" { (if_statement "if (local_70 <= (int)local_5c - local_74) {\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }" if (parenthesized_expression "(local_70 <= (int)local_5c - local_74)" ( (binary_expression "local_70 <= (int)local_5c - local_74" identifier <= (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\n            *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;\n            *(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;\n            do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0xcaa" (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 "*(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)((int)puVar26 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)((int)puVar26 + -0x10)" * (cast_expression "(int *)((int)puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (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 "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed6ab" (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),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                                *(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 "puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;" (assignment_expression "puVar1 = local_4c + ((int)local_5c - local_74) * 0x10" identifier = (binary_expression "local_4c + ((int)local_5c - local_74) * 0x10" identifier + (binary_expression "((int)local_5c - local_74) * 0x10" (parenthesized_expression "((int)local_5c - local_74)" ( (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(uchar **)((int)puVar26 + -8) = puVar1;" (assignment_expression "*(uchar **)((int)puVar26 + -8) = puVar1" (pointer_expression "*(uchar **)((int)puVar26 + -8)" * (cast_expression "(uchar **)((int)puVar26 + -8)" ( (type_descriptor "uchar **" type_identifier (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) )))) = identifier) ;) (expression_statement "*(Stringpool **)((int)puVar26 + -0xc) = dynpool;" (assignment_expression "*(Stringpool **)((int)puVar26 + -0xc) = dynpool" (pointer_expression "*(Stringpool **)((int)puVar26 + -0xc)" * (cast_expression "(Stringpool **)((int)puVar26 + -0xc)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (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) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar26 + -0x10) = local_50;" (assignment_expression "*(uint *)((int)puVar26 + -0x10) = local_50" (pointer_expression "*(uint *)((int)puVar26 + -0x10)" * (cast_expression "(uint *)((int)puVar26 + -0x10)" ( (type_descriptor "uint *" type_identifier (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) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar26 + -0x14) = local_58;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -0x14) = local_58" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -0x14)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -0x14)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (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) )))) = identifier) ;) (expression_statement "*(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17;" (assignment_expression "*(_Hash_node_base **)((int)puVar26 + -0x18) = p_Var17" (pointer_expression "*(_Hash_node_base **)((int)puVar26 + -0x18)" * (cast_expression "(_Hash_node_base **)((int)puVar26 + -0x18)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x18)" ( (binary_expression "(int)puVar26 + -0x18" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar26 + -0x1c) = uVar18;" (assignment_expression "*(uint *)((int)puVar26 + -0x1c) = uVar18" (pointer_expression "*(uint *)((int)puVar26 + -0x1c)" * (cast_expression "(uint *)((int)puVar26 + -0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x1c)" ( (binary_expression "(int)puVar26 + -0x1c" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Symbol_table **)((int)puVar26 + -0x20) = this;" (assignment_expression "*(Symbol_table **)((int)puVar26 + -0x20) = this" (pointer_expression "*(Symbol_table **)((int)puVar26 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar26 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x20)" ( (binary_expression "(int)puVar26 + -0x20" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x24) = 0x1ecddf" (pointer_expression "*(undefined4 *)((int)puVar26 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar26 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x24)" ( (binary_expression "(int)puVar26 + -0x24" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8));" (comma_expression "sized_write_symbol<32,_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" (binary_expression "sized_write_symbol<32" identifier < number_literal) , (binary_expression "_false>\n                    (*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" identifier > (parenthesized_expression "(*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8))" ( (comma_expression "*(Symbol_table **)((int)puVar26 + -0x20),\n                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Symbol_table **)((int)puVar26 + -0x20)" * (cast_expression "(Symbol_table **)((int)puVar26 + -0x20)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar26 + -0x20)" ( (binary_expression "(int)puVar26 + -0x20" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Sized_symbol<32> **)((int)puVar26 + -0x1c),\n                     *(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Sized_symbol<32> **)((int)puVar26 + -0x1c)" * (call_expression "(Sized_symbol<32> **)((int)puVar26 + -0x1c)" (parenthesized_expression "(Sized_symbol<32> **)" ( (binary_expression "Sized_symbol<32> **" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)puVar26 + -0x1c)" ( (binary_expression "(int)puVar26 + -0x1c" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(Elf_Addr *)((int)puVar26 + -0x18),*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Elf_Addr *)((int)puVar26 + -0x18)" * (cast_expression "(Elf_Addr *)((int)puVar26 + -0x18)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar26 + -0x18)" ( (binary_expression "(int)puVar26 + -0x18" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (comma_expression "*(uint *)((int)puVar26 + -0x14),\n                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(uint *)((int)puVar26 + -0x14)" * (cast_expression "(uint *)((int)puVar26 + -0x14)" ( (type_descriptor "uint *" 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) )))) , (comma_expression "*(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(STB *)((int)puVar26 + -0x10)" * (cast_expression "(STB *)((int)puVar26 + -0x10)" ( (type_descriptor "STB *" type_identifier (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) )))) , (comma_expression "*(Stringpool **)((int)puVar26 + -0xc),\n                     *(uchar **)((int)puVar26 + -8)" (pointer_expression "*(Stringpool **)((int)puVar26 + -0xc)" * (cast_expression "(Stringpool **)((int)puVar26 + -0xc)" ( (type_descriptor "Stringpool **" type_identifier (abstract_pointer_declarator "**" * (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 "*(uchar **)((int)puVar26 + -8)" * (cast_expression "(uchar **)((int)puVar26 + -8)" ( (type_descriptor "uchar **" type_identifier (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 "pTVar3 = (*local_64)->target_;" (assignment_expression "pTVar3 = (*local_64)->target_" identifier = (field_expression "(*local_64)->target_" (parenthesized_expression "(*local_64)" ( (pointer_expression "*local_64" * identifier) )) -> field_identifier)) ;) (if_statement "if (pTVar3 == (Target *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(pTVar3 == (Target *)0x0)" ( (binary_expression "pTVar3 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27];" (assignment_expression "ppuVar4 = (undefined **)pTVar3->_vptr_Target[0x27]" identifier = (cast_expression "(undefined **)pTVar3->_vptr_Target[0x27]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "pTVar3->_vptr_Target[0x27]" (field_expression "pTVar3->_vptr_Target" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (ppuVar4 != local_60 + -0xdbf70) {\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }" if (parenthesized_expression "(ppuVar4 != local_60 + -0xdbf70)" ( (binary_expression "ppuVar4 != local_60 + -0xdbf70" identifier != (binary_expression "local_60 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(uchar **)((int)puVar26 + -8) = puVar1;\n            *(uint *)((int)puVar26 + -0xc) = uVar18;\n            *(Target **)((int)puVar26 + -0x10) = pTVar3;\n            *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar4)();\n          }" { (expression_statement "*(uchar **)((int)puVar26 + -8) = puVar1;" (assignment_expression "*(uchar **)((int)puVar26 + -8) = puVar1" (pointer_expression "*(uchar **)((int)puVar26 + -8)" * (cast_expression "(uchar **)((int)puVar26 + -8)" ( (type_descriptor "uchar **" type_identifier (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) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar26 + -0xc) = uVar18;" (assignment_expression "*(uint *)((int)puVar26 + -0xc) = uVar18" (pointer_expression "*(uint *)((int)puVar26 + -0xc)" * (cast_expression "(uint *)((int)puVar26 + -0xc)" ( (type_descriptor "uint *" 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) )))) = identifier) ;) (expression_statement "*(Target **)((int)puVar26 + -0x10) = pTVar3;" (assignment_expression "*(Target **)((int)puVar26 + -0x10) = pTVar3" (pointer_expression "*(Target **)((int)puVar26 + -0x10)" * (cast_expression "(Target **)((int)puVar26 + -0x10)" ( (type_descriptor "Target **" type_identifier (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed138" (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 "(*(code *)ppuVar4)();" (call_expression "(*(code *)ppuVar4)()" (parenthesized_expression "(*(code *)ppuVar4)" ( (pointer_expression "*(code *)ppuVar4" * (cast_expression "(code *)ppuVar4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) }))) (expression_statement "pp_Var12 = (_Hash_node_base **)&local_48->name_;" (assignment_expression "pp_Var12 = (_Hash_node_base **)&local_48->name_" identifier = (cast_expression "(_Hash_node_base **)&local_48->name_" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_48->name_" & (field_expression "local_48->name_" identifier -> field_identifier)))) ;) (expression_statement "local_48 = (Symbol *)*pp_Var12;" (assignment_expression "local_48 = (Symbol *)*pp_Var12" identifier = (cast_expression "(Symbol *)*pp_Var12" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp_Var12" * identifier))) ;) })) (while_statement "while ((Symbol *)*pp_Var12 != (Symbol *)0x0);" while (parenthesized_expression "((Symbol *)*pp_Var12 != (Symbol *)0x0)" ( (binary_expression "(Symbol *)*pp_Var12 != (Symbol *)0x0" (cast_expression "(Symbol *)*pp_Var12" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp_Var12" * identifier)) != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (expression_statement ";" ;))) })) (expression_statement "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start;" (field_expression "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar28 = (this->target_symbols_).\n             super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar28 = (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 (ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish) {\n    return;\n  }" if (parenthesized_expression "(ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish)" ( (field_expression "ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl._M_finish" (field_expression "ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n      _M_impl" (binary_expression "ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar28 ==\n      (this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (binary_expression "ppSVar28 ==\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 "uVar18 = (*ppSVar28)->symtab_index_;" (assignment_expression "uVar18 = (*ppSVar28)->symtab_index_" identifier = (field_expression "(*ppSVar28)->symtab_index_" (parenthesized_expression "(*ppSVar28)" ( (pointer_expression "*ppSVar28" * identifier) )) -> field_identifier)) ;) (if_statement "if (uVar18 != 0) {\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }" if (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    local_48 = *ppSVar28;\n    do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);\n  }" { (expression_statement "local_48 = *ppSVar28;" (assignment_expression "local_48 = *ppSVar28" identifier = (pointer_expression "*ppSVar28" * identifier)) ;) (do_statement "do {\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    } while (uVar18 != 0);" do (compound_statement "{\n      pSVar13 = local_48;\n      ppuVar4 = local_60;\n      ppSVar28 = ppSVar28 + 1;\n      if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }\n      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);\n      bVar23 = local_48->field_0x2a & 7;\n      if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }\n      if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }\n      ppuVar4 = local_60;\n      if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }\n      if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }\n      local_48 = *ppSVar28;\n      uVar18 = (*ppSVar28)->symtab_index_;\n    }" { (expression_statement "pSVar13 = local_48;" (assignment_expression "pSVar13 = local_48" identifier = identifier) ;) (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;) (expression_statement "ppSVar28 = ppSVar28 + 1;" (assignment_expression "ppSVar28 = ppSVar28 + 1" identifier = (binary_expression "ppSVar28 + 1" identifier + number_literal)) ;) (if_statement "if (local_4c == (uchar *)0x0) {\n        uVar16 = 0xffffffff;\n      }\n      else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }" if (parenthesized_expression "(local_4c == (uchar *)0x0)" ( (binary_expression "local_4c == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar16 = 0xffffffff;\n      }" { (expression_statement "uVar16 = 0xffffffff;" (assignment_expression "uVar16 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }" else (compound_statement "{\n        uVar16 = local_48->dynsym_index_;\n        if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }\n      }" { (expression_statement "uVar16 = local_48->dynsym_index_;" (assignment_expression "uVar16 = local_48->dynsym_index_" identifier = (field_expression "local_48->dynsym_index_" identifier -> field_identifier)) ;) (if_statement "if (uVar16 == 0) {\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ed5ce:\n          ppuVar4 = local_60;\n          *(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;\n          *(undefined4 *)((int)puVar26 + -0xc) = 0x19a;\n          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;\n                    /* WARNING: Subroutine does not return */\n          *(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;\n          do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));\n        }" { (labeled_statement "LAB_001ed5ce:\n          ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41b71" (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 "local_60 + -0x41b71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0x19a" (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 "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;" (assignment_expression "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2" (pointer_expression "*(int *)((int)puVar26 + -0x10)" * (cast_expression "(int *)((int)puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (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 "(int)ppuVar4 + -0x11d0d2" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ec" (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),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                              *(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_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);" (assignment_expression "local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a)" identifier = (call_expression "CONCAT31(local_50._1_3_,local_48->field_0x2a)" identifier (argument_list "(local_50._1_3_,local_48->field_0x2a)" ( (field_expression "local_50._1_3_" identifier . field_identifier) , (field_expression "local_48->field_0x2a" identifier -> field_identifier) )))) ;) (expression_statement "bVar23 = local_48->field_0x2a & 7;" (assignment_expression "bVar23 = local_48->field_0x2a & 7" identifier = (binary_expression "local_48->field_0x2a & 7" (field_expression "local_48->field_0x2a" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (bVar23 == 3) {\n        uVar24 = 0xfff1;\n      }\n      else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }" if (parenthesized_expression "(bVar23 == 3)" ( (binary_expression "bVar23 == 3" identifier == number_literal) )) (compound_statement "{\n        uVar24 = 0xfff1;\n      }" { (expression_statement "uVar24 = 0xfff1;" (assignment_expression "uVar24 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }" else (compound_statement "{\n        if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        uVar24 = 0;\n      }" { (if_statement "if (bVar23 != 4) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" if (parenthesized_expression "(bVar23 != 4)" ( (binary_expression "bVar23 != 4" identifier != number_literal) )) (compound_statement "{\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xccb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed654;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" { (expression_statement "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[0xfffffffd] = 0xccb;" (assignment_expression "puVar26[0xfffffffd] = 0xccb" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;" (assignment_expression "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar4 + -0x10763f" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[0xfffffffb] = 0x1ed654;" (assignment_expression "puVar26[0xfffffffb] = 0x1ed654" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" identifier (argument_list "((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" ( (cast_expression "(char *)puVar26[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }))) (if_statement "if (uVar18 != 0xffffffff) {\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }" if (parenthesized_expression "(uVar18 != 0xffffffff)" ( (binary_expression "uVar18 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);\n        bVar23 = pSVar13->field_0x28;\n        puVar26[0xfffffffd] = (uint)sympool;\n        local_50 = uVar24;\n        puVar26[0xfffffffc] = (uint)(bVar23 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1ece97;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n        uVar24 = local_50;\n      }" { (if_statement "if (local_68 <= uVar18 - local_6c) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" if (parenthesized_expression "(local_68 <= uVar18 - local_6c)" ( (binary_expression "local_68 <= uVar18 - local_6c" identifier <= (binary_expression "uVar18 - local_6c" identifier - identifier)) )) (compound_statement "{\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcd1;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed672;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" { (expression_statement "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[0xfffffffd] = 0xcd1;" (assignment_expression "puVar26[0xfffffffd] = 0xcd1" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;" (assignment_expression "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar4 + -0x10763f" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[0xfffffffb] = 0x1ed672;" (assignment_expression "puVar26[0xfffffffb] = 0x1ed672" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" identifier (argument_list "((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" ( (cast_expression "(char *)puVar26[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_78 + (uVar18 - local_6c) * 0x10)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_78 + (uVar18 - local_6c) * 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 + (uVar18 - local_6c) * 0x10)" ( (binary_expression "local_78 + (uVar18 - local_6c) * 0x10" identifier + (binary_expression "(uVar18 - local_6c) * 0x10" (parenthesized_expression "(uVar18 - local_6c)" ( (binary_expression "uVar18 - local_6c" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "bVar23 = pSVar13->field_0x28;" (assignment_expression "bVar23 = pSVar13->field_0x28" identifier = (field_expression "pSVar13->field_0x28" identifier -> field_identifier)) ;) (expression_statement "puVar26[0xfffffffd] = (uint)sympool;" (assignment_expression "puVar26[0xfffffffd] = (uint)sympool" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(uint)sympool" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_50 = uVar24;" (assignment_expression "local_50 = uVar24" identifier = identifier) ;) (expression_statement "puVar26[0xfffffffc] = (uint)(bVar23 >> 4);" (assignment_expression "puVar26[0xfffffffc] = (uint)(bVar23 >> 4)" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (call_expression "(uint)(bVar23 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar23 >> 4)" ( (binary_expression "bVar23 >> 4" identifier >> number_literal) )))) ;) (expression_statement "puVar26[0xfffffffb] = uVar24;" (assignment_expression "puVar26[0xfffffffb] = uVar24" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[0xfffffffa] = (uint)pSVar13[1].name_;" (assignment_expression "puVar26[0xfffffffa] = (uint)pSVar13[1].name_" (subscript_expression "puVar26[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar13[1].name_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar13[1].name_" (subscript_expression "pSVar13[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar26[0xfffffff9] = (uint)pSVar13;" (assignment_expression "puVar26[0xfffffff9] = (uint)pSVar13" (subscript_expression "puVar26[0xfffffff9]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[0xfffffff8] = (uint)this;" (assignment_expression "puVar26[0xfffffff8] = (uint)this" (subscript_expression "puVar26[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[0xfffffff7] = 0x1ece97;" (assignment_expression "puVar26[0xfffffff7] = 0x1ece97" (subscript_expression "puVar26[0xfffffff7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);" (comma_expression "sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" (binary_expression "sized_write_symbol<32" identifier < number_literal) , (binary_expression "_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" identifier > (parenthesized_expression "((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" ( (comma_expression "(Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" (cast_expression "(Symbol_table *)puVar26[0xfffffff8]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffff8]" identifier [ number_literal ])) , (parenthesized_expression "(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" ( (comma_expression "Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (binary_expression "Sized_symbol<32> *)puVar26[0xfffffff9]" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)puVar26[0xfffffff9]" * (ERROR ")" )) (subscript_expression "puVar26[0xfffffff9]" identifier [ number_literal ]))) , (comma_expression "puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffa]" identifier [ number_literal ]) , (comma_expression "puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) , (comma_expression "puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) , (comma_expression "(Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (cast_expression "(Stringpool *)puVar26[0xfffffffd]" ( (type_descriptor "Stringpool *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(uchar *)puVar26[0xfffffffe]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]))))))) ))) )))) ;) (expression_statement "uVar24 = local_50;" (assignment_expression "uVar24 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;) (if_statement "if (uVar16 != 0xffffffff) {\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }" if (parenthesized_expression "(uVar16 != 0xffffffff)" ( (binary_expression "uVar16 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }\n        puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);\n        pSVar13 = local_48;\n        puVar26[0xfffffffd] = (uint)dynpool;\n        local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);\n        puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);\n        puVar26[0xfffffffb] = uVar24;\n        puVar26[0xfffffffa] = (uint)pSVar13[1].name_;\n        puVar26[0xfffffff9] = (uint)pSVar13;\n        puVar26[0xfffffff8] = (uint)this;\n        puVar26[0xfffffff7] = 0x1eced7;\n        sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);\n      }" { (if_statement "if (local_70 <= uVar16 - local_74) {\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" if (parenthesized_expression "(local_70 <= uVar16 - local_74)" ( (binary_expression "local_70 <= uVar16 - local_74" identifier <= (binary_expression "uVar16 - local_74" identifier - identifier)) )) (compound_statement "{\n          puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);\n          puVar26[0xfffffffd] = 0xcdb;\n          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;\n                    /* WARNING: Subroutine does not return */\n          puVar26[0xfffffffb] = 0x1ed6e7;\n          do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);\n        }" { (expression_statement "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_60 + -0x41ba8)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_60 + -0x41ba8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_60 + -0x41ba8)" ( (binary_expression "local_60 + -0x41ba8" identifier + number_literal) )))) ;) (expression_statement "puVar26[0xfffffffd] = 0xcdb;" (assignment_expression "puVar26[0xfffffffd] = 0xcdb" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;" (assignment_expression "puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (binary_expression "(int)ppuVar4 + -0x10763f" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "puVar26[0xfffffffb] = 0x1ed6e7;" (assignment_expression "puVar26[0xfffffffb] = 0x1ed6e7" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe]);" (call_expression "do_gold_unreachable((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" identifier (argument_list "((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],\n                              (char *)puVar26[0xfffffffe])" ( (cast_expression "(char *)puVar26[0xfffffffc]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ])) , (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) , (cast_expression "(char *)puVar26[0xfffffffe]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ])) ))) ;) })) (expression_statement "puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10);" (assignment_expression "puVar26[0xfffffffe] = (uint)(local_4c + (uVar16 - local_74) * 0x10)" (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]) = (call_expression "(uint)(local_4c + (uVar16 - local_74) * 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_4c + (uVar16 - local_74) * 0x10)" ( (binary_expression "local_4c + (uVar16 - local_74) * 0x10" identifier + (binary_expression "(uVar16 - local_74) * 0x10" (parenthesized_expression "(uVar16 - local_74)" ( (binary_expression "uVar16 - local_74" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "pSVar13 = local_48;" (assignment_expression "pSVar13 = local_48" identifier = identifier) ;) (expression_statement "puVar26[0xfffffffd] = (uint)dynpool;" (assignment_expression "puVar26[0xfffffffd] = (uint)dynpool" (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ]) = (cast_expression "(uint)dynpool" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);" (assignment_expression "local_48 = (Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28)" identifier = (cast_expression "(Symbol *)CONCAT31(local_48._1_3_,pSVar13->field_0x28)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_48._1_3_,pSVar13->field_0x28)" identifier (argument_list "(local_48._1_3_,pSVar13->field_0x28)" ( (field_expression "local_48._1_3_" identifier . field_identifier) , (field_expression "pSVar13->field_0x28" identifier -> field_identifier) ))))) ;) (expression_statement "puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4);" (assignment_expression "puVar26[0xfffffffc] = (uint)((byte)pSVar13->field_0x28 >> 4)" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) = (call_expression "(uint)((byte)pSVar13->field_0x28 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)pSVar13->field_0x28 >> 4)" ( (binary_expression "(byte)pSVar13->field_0x28 >> 4" (cast_expression "(byte)pSVar13->field_0x28" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar13->field_0x28" identifier -> field_identifier)) >> number_literal) )))) ;) (expression_statement "puVar26[0xfffffffb] = uVar24;" (assignment_expression "puVar26[0xfffffffb] = uVar24" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[0xfffffffa] = (uint)pSVar13[1].name_;" (assignment_expression "puVar26[0xfffffffa] = (uint)pSVar13[1].name_" (subscript_expression "puVar26[0xfffffffa]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar13[1].name_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pSVar13[1].name_" (subscript_expression "pSVar13[1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "puVar26[0xfffffff9] = (uint)pSVar13;" (assignment_expression "puVar26[0xfffffff9] = (uint)pSVar13" (subscript_expression "puVar26[0xfffffff9]" identifier [ number_literal ]) = (cast_expression "(uint)pSVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[0xfffffff8] = (uint)this;" (assignment_expression "puVar26[0xfffffff8] = (uint)this" (subscript_expression "puVar26[0xfffffff8]" identifier [ number_literal ]) = (cast_expression "(uint)this" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar26[0xfffffff7] = 0x1eced7;" (assignment_expression "puVar26[0xfffffff7] = 0x1eced7" (subscript_expression "puVar26[0xfffffff7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]);" (comma_expression "sized_write_symbol<32,_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" (binary_expression "sized_write_symbol<32" identifier < number_literal) , (binary_expression "_false>\n                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" identifier > (parenthesized_expression "((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" ( (comma_expression "(Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" (cast_expression "(Symbol_table *)puVar26[0xfffffff8]" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffff8]" identifier [ number_literal ])) , (parenthesized_expression "(Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe])" ( (comma_expression "Sized_symbol<32> *)puVar26[0xfffffff9],\n                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (binary_expression "Sized_symbol<32> *)puVar26[0xfffffff9]" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)puVar26[0xfffffff9]" * (ERROR ")" )) (subscript_expression "puVar26[0xfffffff9]" identifier [ number_literal ]))) , (comma_expression "puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffa]" identifier [ number_literal ]) , (comma_expression "puVar26[0xfffffffb],puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffb]" identifier [ number_literal ]) , (comma_expression "puVar26[0xfffffffc],\n                   (Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (subscript_expression "puVar26[0xfffffffc]" identifier [ number_literal ]) , (comma_expression "(Stringpool *)puVar26[0xfffffffd],(uchar *)puVar26[0xfffffffe]" (cast_expression "(Stringpool *)puVar26[0xfffffffd]" ( (type_descriptor "Stringpool *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffd]" identifier [ number_literal ])) , (cast_expression "(uchar *)puVar26[0xfffffffe]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar26[0xfffffffe]" identifier [ number_literal ]))))))) ))) )))) ;) })) (if_statement "if ((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28) {\n        return;\n      }" if (parenthesized_expression "((this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28)" ( (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish == ppSVar28" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl._M_finish" (field_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n          _M_impl" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(this->target_symbols_).super__Vector_base<gold::Symbol*,_std" (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) == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "local_48 = *ppSVar28;" (assignment_expression "local_48 = *ppSVar28" identifier = (pointer_expression "*ppSVar28" * identifier)) ;) (expression_statement "uVar18 = (*ppSVar28)->symtab_index_;" (assignment_expression "uVar18 = (*ppSVar28)->symtab_index_" identifier = (field_expression "(*ppSVar28)->symtab_index_" (parenthesized_expression "(*ppSVar28)" ( (pointer_expression "*ppSVar28" * identifier) )) -> field_identifier)) ;) }) while (parenthesized_expression "(uVar18 != 0)" ( (binary_expression "uVar18 != 0" identifier != number_literal) )) ;) })) (labeled_statement "LAB_001ed5b0:\n  ppuVar4 = local_60;" statement_identifier : (expression_statement "ppuVar4 = local_60;" (assignment_expression "ppuVar4 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb;" (assignment_expression "*(undefined ***)((int)puVar26 + -8) = local_60 + -0x41bbb" (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 "local_60 + -0x41bbb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar26 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0xc) = 0x180" (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 "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;" (assignment_expression "*(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2" (pointer_expression "*(int *)((int)puVar26 + -0x10)" * (cast_expression "(int *)((int)puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (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 "(int)ppuVar4 + -0x11d0d2" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce;" (assignment_expression "*(undefined4 *)((int)puVar26 + -0x14) = 0x1ed5ce" (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),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(char **)((int)puVar26 + -8))" identifier (argument_list "(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),\n                      *(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) )))) ))) ;) })) })))
(translation_unit "void FUN_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}\n\n" (function_definition "void FUN_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" primitive_type (function_declarator "FUN_001ecb30(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  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "uint in_ECX;" type_identifier identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int aiStackY_a4 [2];" primitive_type (array_declarator "aiStackY_a4 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_8c [4];" type_identifier (array_declarator "auStack_8c [4]" identifier [ number_literal ]) ;) (declaration "int *local_88;" primitive_type (pointer_declarator "*local_88" * identifier) ;) (declaration "code *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined **ppuStack_80;" type_identifier (pointer_declarator "**ppuStack_80" * (pointer_declarator "*ppuStack_80" * identifier)) ;) (declaration "undefined **ppuStack_7c;" type_identifier (pointer_declarator "**ppuStack_7c" * (pointer_declarator "*ppuStack_7c" * identifier)) ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined **local_60;" type_identifier (pointer_declarator "**local_60" * (pointer_declarator "*local_60" * identifier)) ;) (declaration "undefined **local_5c;" type_identifier (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)) ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * 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 identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int *piStack_44;" primitive_type (pointer_declarator "*piStack_44" * identifier) ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "undefined **ppuStack_34;" type_identifier (pointer_declarator "**ppuStack_34" * (pointer_declarator "*ppuStack_34" * identifier)) ;) (declaration "undefined **ppuStack_30;" type_identifier (pointer_declarator "**ppuStack_30" * (pointer_declarator "*ppuStack_30" * identifier)) ;) (declaration "undefined *apuStack_2c [7];" type_identifier (pointer_declarator "*apuStack_2c [7]" * (array_declarator "apuStack_2c [7]" identifier [ number_literal ])) ;) (expression_statement "local_60 = &__DT_PLTGOT;" (assignment_expression "local_60 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (expression_statement "local_64 = &DAT_004144e8;" (assignment_expression "local_64 = &DAT_004144e8" identifier = (pointer_expression "&DAT_004144e8" & identifier)) ;) (expression_statement "local_88 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_88 = *(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) ))))) ;) (if_statement "if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" if (parenthesized_expression "(local_88 == (int *)0x0)" ( (binary_expression "local_88 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" { (labeled_statement "LAB_001ed672:\n    ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94" (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 "local_60 + -0x41a94" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x69" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed68d" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_6c = *(int *)(param_1 + 4);" (assignment_expression "local_6c = *(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_68 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_68 = *(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 "uVar6 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0xc)" identifier = (pointer_expression "*(uint *)(param_1 + 0xc)" * (cast_expression "(uint *)(param_1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 8);" (assignment_expression "uVar1 = *(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_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" if (parenthesized_expression "((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0))" ( (binary_expression "(local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)" (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) || (parenthesized_expression "(in_ECX = uVar1 | uVar6, in_ECX == 0)" ( (comma_expression "in_ECX = uVar1 | uVar6, in_ECX == 0" (assignment_expression "in_ECX = uVar1 | uVar6" identifier = (binary_expression "uVar1 | uVar6" identifier | identifier)) , (binary_expression "in_ECX == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_78 = 0;\n  }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" else (compound_statement "{\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" { (if_statement "if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;" if (parenthesized_expression "(((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))" ( (binary_expression "((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" (parenthesized_expression "((int)uVar6 < 0)" ( (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" ( (comma_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1)" identifier = (binary_expression "uVar6 + CARRY4(local_68 * 0x10,uVar1)" identifier + (call_expression "CARRY4(local_68 * 0x10,uVar1)" identifier (argument_list "(local_68 * 0x10,uVar1)" ( (binary_expression "local_68 * 0x10" identifier * number_literal) , identifier ))))) , (comma_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" ( (binary_expression "*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1" (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_68 * 0x10 + uVar1" (binary_expression "local_68 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar14" (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 = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar13 - uVar6" identifier = (binary_expression "iVar13 - uVar6" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar14)" ( (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(iVar13,uVar6)" identifier (argument_list "(iVar13,uVar6)" ( identifier , identifier )))) )) != (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (goto_statement "goto LAB_001ed746;" goto statement_identifier ;)) (expression_statement "local_78 = *(int *)(param_6 + 0x10) + uVar1;" (assignment_expression "local_78 = *(int *)(param_6 + 0x10) + uVar1" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar1" (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_74 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_74 = *(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_70 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_70 = *(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 "iVar13 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar13 = *(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 "uVar6 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar6 = *(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_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" if (parenthesized_expression "((local_70 == 0) || (uVar6 == 0 && iVar13 == 0))" ( (binary_expression "(local_70 == 0) || (uVar6 == 0 && iVar13 == 0)" (parenthesized_expression "(local_70 == 0)" ( (binary_expression "local_70 == 0" identifier == number_literal) )) || (parenthesized_expression "(uVar6 == 0 && iVar13 == 0)" ( (binary_expression "uVar6 == 0 && iVar13 == 0" (binary_expression "uVar6 == 0" identifier == number_literal) && (binary_expression "iVar13 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    local_4c = 0;\n  }" { (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" else (compound_statement "{\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" { (if_statement "if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" if (parenthesized_expression "((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0))" ( (binary_expression "(iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" ( (comma_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" identifier = (binary_expression "iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" identifier + (cast_expression "(uint)CARRY4(local_70 * 0x10,uVar6)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_70 * 0x10,uVar6)" identifier (argument_list "(local_70 * 0x10,uVar6)" ( (binary_expression "local_70 * 0x10" identifier * number_literal) , identifier )))))) , (comma_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" identifier = (call_expression "(uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" ( (binary_expression "*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6" (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_70 * 0x10 + uVar6" (binary_expression "local_70 * 0x10" identifier * number_literal) + identifier)) )))) , (comma_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13" identifier = (binary_expression "*(int *)(param_6 + 0xc) - iVar13" (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 = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar14 - uVar1" identifier = (binary_expression "iVar14 - uVar1" identifier - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1))" ( (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13)" identifier (argument_list "(*(int *)(param_6 + 0xc),iVar13)" ( (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(iVar14,uVar1)" identifier (argument_list "(iVar14,uVar1)" ( identifier , identifier )))) )) != (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)))))) ))) )) (compound_statement "{\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" { (labeled_statement "LAB_001ed746:\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_4c = *(int *)(param_6 + 0x10) + uVar6;" (assignment_expression "local_4c = *(int *)(param_6 + 0x10) + uVar6" identifier = (binary_expression "*(int *)(param_6 + 0x10) + uVar6" (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_48 = *(int **)(param_1 + 0x2c);" (assignment_expression "local_48 = *(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 "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (if_statement "if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" if (parenthesized_expression "(local_48 != (int *)0x0)" ( (binary_expression "local_48 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" { (expression_statement "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);" (assignment_expression "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" identifier = (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cbb4)" ( (binary_expression "(int)&__DT_PLTGOT + DAT_0030cbb4" (cast_expression "(int)&__DT_PLTGOT" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_PLTGOT" & identifier)) + identifier) )))) ;) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" identifier = identifier) ;) (do_statement "do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);" do (compound_statement "{\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    }" { (expression_statement "iVar13 = local_48[3];" (assignment_expression "iVar13 = local_48[3]" identifier = (subscript_expression "local_48[3]" identifier [ number_literal ])) ;) (if_statement "if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" if (parenthesized_expression "(((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2))" ( (binary_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0))" ( (binary_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" ( (comma_expression "iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) , (binary_expression "(*(byte *)(iVar14 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 1)" ( (binary_expression "*(byte *)(iVar14 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar14 + 0x2c)" * (cast_expression "(byte *)(iVar14 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" * (cast_expression "(int *)(iVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(*(byte *)(iVar13 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar13 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" * (cast_expression "(byte *)(iVar13 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" { (expression_statement "iVar2 = *(int *)(*local_64 + 8);" (assignment_expression "iVar2 = *(int *)(*local_64 + 8)" identifier = (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) goto LAB_001ed61b;" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (if_statement "if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" if (parenthesized_expression "(*(char *)(iVar2 + 0x1fd) == '\0')" ( (binary_expression "*(char *)(iVar2 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x1fd)" * (cast_expression "(char *)(iVar2 + 0x1fd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1fd)" ( (binary_expression "iVar2 + 0x1fd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" { (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" identifier = (pointer_expression "*(int **)(*local_64 + 0xc)" * (cast_expression "(int **)(*local_64 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_64 + 0xc)" ( (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x1c)" * (cast_expression "(undefined ***)(*piVar8 + 0x1c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x1c)" ( (binary_expression "*piVar8 + 0x1c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" if (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf94)" ( (binary_expression "ppuVar3 != local_60 + -0xdbf94" identifier != (binary_expression "local_60 + -0xdbf94" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" { (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477" (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 "cVar5 = (*(code *)ppuVar3)();" (assignment_expression "cVar5 = (*(code *)ppuVar3)()" identifier = (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_001ecc58;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ecc58;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001ed48c;" goto statement_identifier ;)) (expression_statement "iVar14 = *(int *)(iVar13 + 8);" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" identifier = (pointer_expression "*(int *)(iVar13 + 8)" * (cast_expression "(int *)(iVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" if (parenthesized_expression "((*(byte *)(iVar14 + 0x2c) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar14 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 0x20)" ( (binary_expression "*(byte *)(iVar14 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar14 + 0x2c)" * (cast_expression "(byte *)(iVar14 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" { (if_statement "if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5c) == 0)" ( (binary_expression "*(int *)(iVar14 + 0x5c) == 0" (pointer_expression "*(int *)(iVar14 + 0x5c)" * (cast_expression "(int *)(iVar14 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5c)" ( (binary_expression "iVar14 + 0x5c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" { (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3" (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 "local_60 + -0x41bb3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x3e" (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) = local_60 + -0x47464;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464" (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 "local_60 + -0x47464" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7db" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" if (parenthesized_expression "(*(int *)(iVar14 + 0x5c) != 1)" ( (binary_expression "*(int *)(iVar14 + 0x5c) != 1" (pointer_expression "*(int *)(iVar14 + 0x5c)" * (cast_expression "(int *)(iVar14 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x5c)" ( (binary_expression "iVar14 + 0x5c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" { (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410" (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_000d1730();" (call_expression "FUN_000d1730()" identifier (argument_list "()" ( ))) ;) })) })) })) })) (labeled_statement "LAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);" statement_identifier : (expression_statement "ppuVar3 = *(undefined ***)(iVar13 + 0x10);" (assignment_expression "ppuVar3 = *(undefined ***)(iVar13 + 0x10)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x10)" * (cast_expression "(undefined ***)(iVar13 + 0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x10)" ( (binary_expression "iVar13 + 0x10" identifier + number_literal) ))))) ;)) (if_statement "if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;" if (parenthesized_expression "(ppuVar3 == (undefined **)0x0)" ( (binary_expression "ppuVar3 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed5b0;" goto statement_identifier ;)) (if_statement "if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }" { (expression_statement "local_5c = (undefined **)0xffffffff;" (assignment_expression "local_5c = (undefined **)0xffffffff" identifier = (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuVar7 = ppuVar3;" (assignment_expression "ppuVar7 = ppuVar3" identifier = identifier) ;) }) (else_clause "else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" else (compound_statement "{\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" { (expression_statement "local_5c = *(undefined ***)(iVar13 + 0x14);" (assignment_expression "local_5c = *(undefined ***)(iVar13 + 0x14)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x14)" * (cast_expression "(undefined ***)(iVar13 + 0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x14)" ( (binary_expression "iVar13 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;" if (parenthesized_expression "(local_5c == (undefined **)0x0)" ( (binary_expression "local_5c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed5ce;" goto statement_identifier ;)) (expression_statement "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);" (assignment_expression "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3)" identifier = (cast_expression "(undefined **)((uint)local_5c & (uint)ppuVar3)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_5c & (uint)ppuVar3)" ( (binary_expression "(uint)local_5c & (uint)ppuVar3" (cast_expression "(uint)local_5c" ( (type_descriptor "uint" type_identifier) ) identifier) & (cast_expression "(uint)ppuVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) (if_statement "if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" if (parenthesized_expression "(ppuVar7 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar7 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" { (expression_statement "local_54 = *(undefined ***)(iVar13 + 0x30);" (assignment_expression "local_54 = *(undefined ***)(iVar13 + 0x30)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0x30)" * (cast_expression "(undefined ***)(iVar13 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0x30)" ( (binary_expression "iVar13 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4)" identifier = (call_expression "(uint)(*(byte *)(iVar13 + 0x28) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(iVar13 + 0x28) >> 4)" ( (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" * (cast_expression "(byte *)(iVar13 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x28)" ( (binary_expression "iVar13 + 0x28" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "iVar14 = *(int *)(*local_64 + 8);" (assignment_expression "iVar14 = *(int *)(*local_64 + 8)" identifier = (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar14 == 0) goto LAB_001ed61b;" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (expression_statement "bVar12 = *(byte *)(iVar13 + 0x2a);" (assignment_expression "bVar12 = *(byte *)(iVar13 + 0x2a)" identifier = (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = bVar12 & 7;" (assignment_expression "uVar6 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (expression_statement "bVar11 = (byte)uVar6;" (assignment_expression "bVar11 = (byte)uVar6" identifier = (cast_expression "(byte)uVar6" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" if (parenthesized_expression "((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1))" ( (binary_expression "(*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar14 + 0x49b1) != '\0')" ( (binary_expression "*(char *)(iVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x49b1)" * (cast_expression "(char *)(iVar14 + 0x49b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x49b1)" ( (binary_expression "iVar14 + 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 (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" { (if_statement "if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }" { (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0xc)" * (cast_expression "(undefined ***)(iVar13 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" if (parenthesized_expression "((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0))" ( (binary_expression "(local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_58 == (undefined **)0x0)" ( (binary_expression "local_58 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1)" ( (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" { (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d04])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d04])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d04])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d04]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d04]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d04]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*local_84)();" (call_expression "(*local_84)()" (parenthesized_expression "(*local_84)" ( (pointer_expression "*local_84" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" if (parenthesized_expression "(bVar11 == 4)" ( (binary_expression "bVar11 == 4" identifier == number_literal) )) (compound_statement "{\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" { (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))" ( (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d0a])" * (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d0a])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d0a])" ( (binary_expression "(int)local_60 + (int)local_60[-0x41d0a]" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_60[-0x41d0a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_60[-0x41d0a]" identifier [ number_literal ]))) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (4 < bVar11) goto LAB_001ed5ec;" if (parenthesized_expression "(4 < bVar11)" ( (binary_expression "4 < bVar11" number_literal < identifier) )) (goto_statement "goto LAB_001ed5ec;" goto statement_identifier ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (switch_statement "switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" switch (parenthesized_expression "(local_60[uVar6 - 0x41d09] + (int)local_60)" ( (binary_expression "local_60[uVar6 - 0x41d09] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d09]" identifier [ (binary_expression "uVar6 - 0x41d09" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" { (case_statement "case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;" case (cast_expression "(undefined *)0x1ed0f0" ( (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_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;" case (cast_expression "(undefined *)0x1ed110" ( (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_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (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 *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;" case (cast_expression "(undefined *)0x1ed300" ( (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_r0x001ecfc3;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;" case (cast_expression "(undefined *)0x1ed310" ( (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_r0x001ecf43;" goto statement_identifier ;)) (case_statement "case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();" case (cast_expression "(undefined *)0x1ed6e7" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e" (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 "local_60 + -0x41a8e" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xaa" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed705" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;)) })) (goto_statement "goto LAB_001ecd70;" goto statement_identifier ;) })) (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" identifier = identifier) ;) (if_statement "if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }" if (parenthesized_expression "((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'))" ( (binary_expression "(local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" ( (binary_expression "local_50 == 10" identifier == number_literal) )) && (parenthesized_expression "(uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" ( (comma_expression "uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'" (assignment_expression "uVar1 = 1" identifier = number_literal) , (binary_expression "*(char *)(iVar14 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x19a9)" * (cast_expression "(char *)(iVar14 + 0x19a9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x19a9)" ( (binary_expression "iVar14 + 0x19a9" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          uVar1 = local_50;\n        }" { (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" identifier = identifier) ;) })) (expression_statement "local_50 = uVar1;" (assignment_expression "local_50 = uVar1" identifier = identifier) ;) (if_statement "if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" if (parenthesized_expression "(4 < bVar11)" ( (binary_expression "4 < bVar11" number_literal < identifier) )) (compound_statement "{\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" { (labeled_statement "LAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc9b" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed60a" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (switch_statement "switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" switch (parenthesized_expression "(local_60[uVar6 - 0x41d18] + (int)local_60)" ( (binary_expression "local_60[uVar6 - 0x41d18] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d18]" identifier [ (binary_expression "uVar6 - 0x41d18" identifier - number_literal) ]) + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" { (case_statement "case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;" case (cast_expression "(undefined *)0x1ecd00" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;" if (parenthesized_expression "((bVar12 & 7) != 0)" ( (binary_expression "(bVar12 & 7) != 0" (parenthesized_expression "(bVar12 & 7)" ( (binary_expression "bVar12 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto code_r0x001ed6e7;" goto statement_identifier ;)) (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" identifier = (pointer_expression "*(undefined ***)(iVar13 + 0xc)" * (cast_expression "(undefined ***)(iVar13 + 0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar13 + 0xc)" ( (binary_expression "iVar13 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;" (assignment_expression "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5" identifier = (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar12 = bVar11 & 1;" (assignment_expression "bVar12 = bVar11 & 1" identifier = (binary_expression "bVar11 & 1" identifier & number_literal)) ;) (expression_statement "ppuVar7 = local_58;" (assignment_expression "ppuVar7 = local_58" identifier = identifier) ;) (if_statement "if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" if (parenthesized_expression "((local_58 != (undefined **)0xfff1) && (bVar12 != 1))" ( (binary_expression "(local_58 != (undefined **)0xfff1) && (bVar12 != 1)" (parenthesized_expression "(local_58 != (undefined **)0xfff1)" ( (binary_expression "local_58 != (undefined **)0xfff1" identifier != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(bVar12 != 1)" ( (binary_expression "bVar12 != 1" identifier != number_literal) ))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_58" (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) )))) = identifier) ;) (expression_statement "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);" (assignment_expression "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" identifier = (cast_expression "(undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" ( (binary_expression "CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01" (call_expression "CONCAT31(ppuStack_80._1_3_,bVar11)" identifier (argument_list "(ppuStack_80._1_3_,bVar11)" ( (field_expression "ppuStack_80._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f" (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 "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" identifier = identifier) ;) (expression_statement "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" { (expression_statement "ppuStack_80 = ppuStack_7c;" (assignment_expression "ppuStack_80 = ppuStack_7c" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1ed39d;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1ed39d" (pointer_expression "*(undefined4 *)(puVar16 + -4)" * (cast_expression "(undefined4 *)(puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -4)" ( (binary_expression "puVar16 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e7db0();" (call_expression "FUN_001e7db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuStack_7c = ppuStack_34;" (assignment_expression "ppuStack_7c = ppuStack_34" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21" (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 "local_60 + -0x41d21" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7" (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 "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_80;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_80" (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) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb" (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_000d1330();" (call_expression "FUN_000d1330()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" if (parenthesized_expression "(ppuStack_34 != apuStack_2c)" ( (binary_expression "ppuStack_34 != apuStack_2c" identifier != identifier) )) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_34;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_34" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8" (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_00248220();" (call_expression "FUN_00248220()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" identifier = identifier) ;) (expression_statement "bVar12 = (byte)ppuStack_80;" (assignment_expression "bVar12 = (byte)ppuStack_80" identifier = (cast_expression "(byte)ppuStack_80" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" * (cast_expression "(byte *)(iVar13 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2a)" ( (binary_expression "iVar13 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" { (labeled_statement "LAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" statement_identifier : (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96" (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 "local_60 + -0x41a96" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xa1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed4aa" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" identifier = (pointer_expression "*(int **)(iVar13 + 8)" * (cast_expression "(int **)(iVar13 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xb) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar8 + 0xb) & 1" (pointer_expression "*(byte *)(piVar8 + 0xb)" * (cast_expression "(byte *)(piVar8 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xb)" ( (binary_expression "piVar8 + 0xb" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }" { (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);" (assignment_expression "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" identifier = (cast_expression "(undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(ppuStack_80._1_3_,bVar12)" identifier (argument_list "(ppuStack_80._1_3_,bVar12)" ( (field_expression "ppuStack_80._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" identifier = (pointer_expression "*(code **)(iVar14 + 0x14)" * (cast_expression "(code **)(iVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f" (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 "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "iVar14 = (*pcVar4)();" (assignment_expression "iVar14 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;" if (parenthesized_expression "((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0))" ( (binary_expression "(ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)" (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" ( (binary_expression "ppuStack_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_001ecfa0;" goto statement_identifier ;)) (if_statement "if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" if (parenthesized_expression "((byte)ppuStack_80 == '\0')" ( (binary_expression "(byte)ppuStack_80 == '\0'" (cast_expression "(byte)ppuStack_80" ( (type_descriptor "byte" type_identifier) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }" { (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" if (parenthesized_expression "(ppuStack_7c != (undefined **)0xfff1)" ( (binary_expression "ppuStack_7c != (undefined **)0xfff1" identifier != (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188" (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 "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') goto LAB_001ed196;" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ed196;" goto statement_identifier ;)) })) }) (else_clause "else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" else (compound_statement "{\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" { (labeled_statement "LAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" statement_identifier : (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x60)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x60)" * (cast_expression "(undefined ***)(*piVar8 + 0x60)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x60)" ( (binary_expression "*piVar8 + 0x60" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;)) (expression_statement "ppuStack_80 = local_60 + -0xdb9ec;" (assignment_expression "ppuStack_80 = local_60 + -0xdb9ec" identifier = (binary_expression "local_60 + -0xdb9ec" identifier + number_literal)) ;) (if_statement "if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" if (parenthesized_expression "(ppuVar7 == ppuStack_80)" ( (binary_expression "ppuVar7 == ppuStack_80" identifier == identifier) )) (compound_statement "{\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }" { (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (if_statement "if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;" if (parenthesized_expression "((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)" ( (binary_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c" (cast_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar8[0xf] - piVar8[0xe] >> 2)" ( (binary_expression "piVar8[0xf] - piVar8[0xe] >> 2" (binary_expression "piVar8[0xf] - piVar8[0xe]" (subscript_expression "piVar8[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar8[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_001ed7a6;" goto statement_identifier ;)) (expression_statement "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);" (assignment_expression "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" identifier = (pointer_expression "*(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" * (cast_expression "(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piVar8[0xe] + (int)ppuStack_7c * 4)" ( (binary_expression "piVar8[0xe] + (int)ppuStack_7c * 4" (subscript_expression "piVar8[0xe]" identifier [ number_literal ]) + (binary_expression "(int)ppuStack_7c * 4" (cast_expression "(int)ppuStack_7c" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" else (compound_statement "{\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" { (expression_statement "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d" (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 "ppuVar7 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "ppuVar7 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" identifier = identifier) ;) }))) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_7c" (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) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0xc) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar8" (pointer_expression "*(int **)(puVar16 + -0xc)" * (cast_expression "(int **)(puVar16 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_1" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8" (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 "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" identifier = identifier) ;) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "cVar5 = FUN_001e6ec0();" (assignment_expression "cVar5 = FUN_001e6ec0()" identifier = (call_expression "FUN_001e6ec0()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" identifier = identifier) ;) (if_statement "if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" ( (binary_expression "ppuStack_7c == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc59" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b" (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 "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" else (compound_statement "{\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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 "*(int **)(puVar16 + -8) = piVar8;" (assignment_expression "*(int **)(puVar16 + -8) = piVar8" (pointer_expression "*(int **)(puVar16 + -8)" * (cast_expression "(int **)(puVar16 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (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) )))) = (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 ***)(puVar16 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar16 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar16 + -0x10)" * (cast_expression "(int ***)(puVar16 + -0x10)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "&piStack_44" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3" (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_000dd700();" (call_expression "FUN_000dd700()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\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                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }" { (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721" (pointer_expression "*(undefined **)(puVar16 + -0x18)" * (cast_expression "(undefined **)(puVar16 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed721" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar9 = *(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 (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" if (parenthesized_expression "(ppuVar9 == ppuStack_80)" ( (binary_expression "ppuVar9 == ppuStack_80" identifier == identifier) )) (compound_statement "{\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }" { (if_statement "if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" if (parenthesized_expression "((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40)" ( (binary_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40" (call_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(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) ))) <= identifier) )) (compound_statement "{\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" { (labeled_statement "LAB_001ed7a6:\n                    ppuVar7 = local_60;" statement_identifier : (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar3;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar3" (pointer_expression "*(undefined ***)(puVar15 + -4)" * (cast_expression "(undefined ***)(puVar15 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9" (pointer_expression "*(undefined ***)(puVar15 + -8)" * (cast_expression "(undefined ***)(puVar15 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = (binary_expression "ppuVar7 + -0x41aa9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e" (pointer_expression "*(undefined ***)(puVar15 + -0x10)" * (cast_expression "(undefined ***)(puVar15 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar7 + -0x4746e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);" (assignment_expression "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" identifier = (pointer_expression "*(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" * (cast_expression "(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(piStack_44[0xe] + uStack_40 * 4)" ( (binary_expression "piStack_44[0xe] + uStack_40 * 4" (subscript_expression "piStack_44[0xe]" identifier [ number_literal ]) + (binary_expression "uStack_40 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" else (compound_statement "{\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" { (expression_statement "*(uint *)(puVar16 + -0x10) = uStack_40;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uStack_40" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar16 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar16 + -0x14)" * (cast_expression "(int **)(puVar16 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" * (cast_expression "(undefined4 *)(puVar16 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppuVar9 = (undefined **)(*(code *)ppuVar9)();" (assignment_expression "ppuVar9 = (undefined **)(*(code *)ppuVar9)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar9)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar9)()" (parenthesized_expression "(*(code *)ppuVar9)" ( (pointer_expression "*(code *)ppuVar9" * (cast_expression "(code *)ppuVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" identifier = (binary_expression "puVar16 + -4" identifier + number_literal)) ;) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" ( (binary_expression "ppuVar9 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar7" (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) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" * (cast_expression "(undefined ***)(puVar16 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (binary_expression "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" * (cast_expression "(int *)(puVar16 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c" (pointer_expression "*(undefined **)(puVar16 + -0x18)" * (cast_expression "(undefined **)(puVar16 + -0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed52c" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" identifier = identifier) ;) (expression_statement "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*ppuVar9 + 0x2c)" * (cast_expression "(undefined ***)(*ppuVar9 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*ppuVar9 + 0x2c)" ( (binary_expression "*ppuVar9 + 0x2c" (pointer_expression "*ppuVar9" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" if (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" ( (binary_expression "ppuVar7 == local_60 + -0xcba68" identifier == (binary_expression "local_60 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }" { (expression_statement "local_58 = (undefined **)ppuVar9[0x18];" (assignment_expression "local_58 = (undefined **)ppuVar9[0x18]" identifier = (cast_expression "(undefined **)ppuVar9[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar9[0x18]" identifier [ number_literal ]))) ;) (if_statement "if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" if (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" ( (binary_expression "local_58 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" { (labeled_statement "LAB_001ed7db:\n                  ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7" (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 "local_60 + -0x41bb7" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x1043" (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) = ppuVar3 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469" (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 "ppuVar3 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7f9" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" else (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" { (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuVar9;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar9" (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) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) }))) (if_statement "if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" if (parenthesized_expression "((undefined **)0xfeff < local_58)" ( (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" { (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" { (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) })) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" if (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" ( (binary_expression "local_5c == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                  local_58 = (undefined **)0xffff;\n                }" { (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" else (compound_statement "{\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" { (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272" (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 "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" identifier = identifier) ;) }))) })) (if_statement "if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" if (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" ( (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" { (labeled_statement "LAB_001ed61b:\n                ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86" (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 "local_60 + -0x41a86" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636" (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 "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;" if (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0')" ( (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001ed06b;" goto statement_identifier ;)) }))) }) (else_clause "else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" else (compound_statement "{\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" { (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" if (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) & 2)" ( (binary_expression "*(byte *)(iVar13 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar13 + 0x2b)" * (cast_expression "(byte *)(iVar13 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2b)" ( (binary_expression "iVar13 + 0x2b" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" { (expression_statement "iVar14 = *local_88;" (assignment_expression "iVar14 = *local_88" identifier = (pointer_expression "*local_88" * identifier)) ;) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = local_88;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_88" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" identifier = (pointer_expression "*(code **)(iVar14 + 0x14)" * (cast_expression "(code **)(iVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x14)" ( (binary_expression "iVar14 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52" (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 "ppuVar7 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar7 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) })) (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (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 *)(iVar13 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" identifier = (binary_expression "2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" number_literal - (parenthesized_expression "((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" ( (binary_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1)" ( (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar13 + 0x2c)" * (cast_expression "(byte *)(iVar13 + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 0x2c)" ( (binary_expression "iVar13 + 0x2c" identifier + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;" case (cast_expression "(undefined *)0x1ecf40" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar11 != 2)" ( (binary_expression "bVar11 != 2" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b" (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 "local_60 + -0x41b8b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 200" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed58e" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" * (cast_expression "(undefined4 *)(puVar16 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar13 + 8)" * (cast_expression "(undefined4 *)(iVar13 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ecf5a" & identifier)) ;) (expression_statement "piVar8 = (int *)FUN_0015f960();" (assignment_expression "piVar8 = (int *)FUN_0015f960()" identifier = (cast_expression "(int *)FUN_0015f960()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0015f960()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x001ecfb0;" goto statement_identifier ;)) (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x2c)" * (cast_expression "(undefined ***)(*piVar8 + 0x2c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x2c)" ( (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" if (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" ( (binary_expression "ppuVar7 == local_60 + -0xcba68" identifier == (binary_expression "local_60 + -0xcba68" identifier + number_literal)) )) (compound_statement "{\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }" { (expression_statement "local_58 = (undefined **)piVar8[0x18];" (assignment_expression "local_58 = (undefined **)piVar8[0x18]" identifier = (cast_expression "(undefined **)piVar8[0x18]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar8[0x18]" identifier [ number_literal ]))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;" if (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" ( (binary_expression "local_58 == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_001ed7db;" goto statement_identifier ;)) }) (else_clause "else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" else (compound_statement "{\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" { (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed366" & identifier)) ;) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" identifier = (cast_expression "(undefined **)(*(code *)ppuVar7)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" ( (pointer_expression "*(code *)ppuVar7" * (cast_expression "(code *)ppuVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfa0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "LAB_001ecfa0:\n          local_58 = (undefined **)0x0;" statement_identifier : (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;" case (cast_expression "(undefined *)0x1ecfb0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;" statement_identifier : (expression_statement "local_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (undefined **)0xfff1" identifier = (cast_expression "(undefined **)0xfff1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" case (cast_expression "(undefined *)0x1ecfc0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" identifier = (binary_expression "bVar12 & 7" identifier & number_literal)) ;) (labeled_statement "code_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" if (parenthesized_expression "(bVar11 != 1)" ( (binary_expression "bVar11 != 1" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d" (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 "local_60 + -0x41b7d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xb5" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed5ae" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" identifier = (pointer_expression "*(int **)(iVar13 + 8)" * (cast_expression "(int **)(iVar13 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x2c);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x2c)" identifier = (pointer_expression "*(code **)(iVar14 + 0x2c)" * (cast_expression "(code **)(iVar14 + 0x2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ecfd8" & identifier)) ;) (expression_statement "local_58 = (undefined **)(*pcVar4)();" (assignment_expression "local_58 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" if (parenthesized_expression "((undefined **)0xfeff < local_58)" ( (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" { (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" { (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_4 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed003" & identifier)) ;) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" if (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" ( (binary_expression "local_5c == (undefined **)0xffffffff" identifier == (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              local_58 = (undefined **)0xffff;\n            }" { (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }) (else_clause "else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" else (compound_statement "{\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" { (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" identifier = identifier) ;) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" identifier = identifier) ;) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" * (cast_expression "(undefined ****)(puVar16 + -0xc)" ( (type_descriptor "undefined ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = (pointer_expression "&ppuStack_34" & identifier)) ;) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "param_5 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed02e" & identifier)) ;) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" identifier = (cast_expression "(undefined **)0xffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) })) (if_statement "if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;" if (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" ( (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001ed61b;" goto statement_identifier ;)) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;" if (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0')" ( (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" ( (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" * (cast_expression "(int *)(*local_64 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_64 + 8)" ( (binary_expression "*local_64 + 8" (pointer_expression "*local_64" * identifier) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x24);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x24)" identifier = (pointer_expression "*(code **)(iVar14 + 0x24)" * (cast_expression "(code **)(iVar14 + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x24)" ( (binary_expression "iVar14 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed05e" & identifier)) ;) (expression_statement "ppuVar9 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar9 = (undefined **)(*pcVar4)()" identifier = (cast_expression "(undefined **)(*pcVar4)()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" if (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" ( (binary_expression "ppuVar9 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc81" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed7a6" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" statement_identifier : (if_statement "if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" if (parenthesized_expression "(((uint)ppuVar9[7] & 1) == 0)" ( (binary_expression "((uint)ppuVar9[7] & 1) == 0" (parenthesized_expression "((uint)ppuVar9[7] & 1)" ( (binary_expression "(uint)ppuVar9[7] & 1" (cast_expression "(uint)ppuVar9[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppuVar9[7]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f" (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 "local_60 + -0x41b7f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc5" (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) = local_60 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469" (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 "local_60 + -0x47469" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746" (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 "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" identifier = identifier) ;) (expression_statement "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" (assignment_expression "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1])" identifier = (cast_expression "(undefined **)((int)local_54 - (int)ppuVar9[1])" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_54 - (int)ppuVar9[1])" ( (binary_expression "(int)local_54 - (int)ppuVar9[1]" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar9[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar9[1]" identifier [ number_literal ]))) )))) ;)) })) (labeled_statement "LAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" statement_identifier : (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" if (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" ( (binary_expression "ppuVar3 != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" { (if_statement "if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" if (parenthesized_expression "(local_68 <= (uint)((int)ppuVar3 - local_6c))" ( (binary_expression "local_68 <= (uint)((int)ppuVar3 - local_6c)" identifier <= (call_expression "(uint)((int)ppuVar3 - local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppuVar3 - local_6c)" ( (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xca1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9" (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 "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "((int)ppuVar3 - local_6c) * 0x10 + local_78" (binary_expression "((int)ppuVar3 - local_6c) * 0x10" (parenthesized_expression "((int)ppuVar3 - local_6c)" ( (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal) + identifier)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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) )))) = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" * (cast_expression "(undefined ***)(puVar16 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x18) = local_54;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = local_54" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" * (cast_expression "(undefined ***)(puVar16 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" * (cast_expression "(int *)(puVar16 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" identifier = identifier) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" identifier = identifier) ;) }))) (if_statement "if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" if (parenthesized_expression "(local_5c != (undefined **)0xffffffff)" ( (binary_expression "local_5c != (undefined **)0xffffffff" identifier != (cast_expression "(undefined **)0xffffffff" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" { (if_statement "if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" if (parenthesized_expression "(local_70 <= (uint)((int)local_5c - local_74))" ( (binary_expression "local_70 <= (uint)((int)local_5c - local_74)" identifier <= (call_expression "(uint)((int)local_5c - local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)local_5c - local_74)" ( (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) )) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcaa" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" * (cast_expression "(undefined1 **)(puVar16 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_001ed6ab" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;" (assignment_expression "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10" identifier = (binary_expression "local_4c + ((int)local_5c - local_74) * 0x10" identifier + (binary_expression "((int)local_5c - local_74) * 0x10" (parenthesized_expression "((int)local_5c - local_74)" ( (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )) * number_literal))) ;) (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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) )))) = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" * (cast_expression "(undefined ***)(puVar16 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar16 + -0x18) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = ppuVar7" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" * (cast_expression "(undefined ***)(puVar16 + -0x18)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" * (cast_expression "(int *)(puVar16 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" identifier = (pointer_expression "*(int **)(*local_64 + 0xc)" * (cast_expression "(int **)(*local_64 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_64 + 0xc)" ( (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" * identifier) + number_literal) ))))) ;) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001ed672;" goto statement_identifier ;)) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c)" identifier = (pointer_expression "*(undefined ***)(*piVar8 + 0x9c)" * (cast_expression "(undefined ***)(*piVar8 + 0x9c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar8 + 0x9c)" ( (binary_expression "*piVar8 + 0x9c" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (if_statement "if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" if (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf70)" ( (binary_expression "ppuVar3 != local_60 + -0xdbf70" identifier != (binary_expression "local_60 + -0xdbf70" identifier + number_literal)) )) (compound_statement "{\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" { (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" * (cast_expression "(int *)(puVar16 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" * (cast_expression "(int **)(puVar16 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138" (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 "(*(code *)ppuVar3)();" (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" ( (pointer_expression "*(code *)ppuVar3" * (cast_expression "(code *)ppuVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) })) (expression_statement "local_48 = (int *)*local_48;" (assignment_expression "local_48 = (int *)*local_48" identifier = (cast_expression "(int *)*local_48" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) }) while (parenthesized_expression "(local_48 != (int *)0x0)" ( (binary_expression "local_48 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "puVar17 = *(undefined4 **)(param_1 + 0x160);" (assignment_expression "puVar17 = *(undefined4 **)(param_1 + 0x160)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x160)" * (cast_expression "(undefined4 **)(param_1 + 0x160)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (if_statement "if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }" if (parenthesized_expression "(puVar17 == *(undefined4 **)(param_1 + 0x164))" ( (binary_expression "puVar17 == *(undefined4 **)(param_1 + 0x164)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 0x164)" * (cast_expression "(undefined4 **)(param_1 + 0x164)" ( (type_descriptor "undefined4 **" type_identifier (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 "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" identifier = (cast_expression "(int *)*puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" identifier = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (while_statement "while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" while (parenthesized_expression "(local_60 = ppuVar3, iVar13 != 0)" ( (comma_expression "local_60 = ppuVar3, iVar13 != 0" (assignment_expression "local_60 = ppuVar3" identifier = identifier) , (binary_expression "iVar13 != 0" identifier != number_literal)) )) (compound_statement "{\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" { (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" identifier = (binary_expression "puVar17 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" identifier = identifier) ;) (if_statement "if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      iVar14 = -1;\n    }" { (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" identifier = number_literal) ;) }) (else_clause "else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" else (compound_statement "{\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" { (expression_statement "iVar14 = piVar8[5];" (assignment_expression "iVar14 = piVar8[5]" identifier = (subscript_expression "piVar8[5]" identifier [ number_literal ])) ;) (if_statement "if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" { (labeled_statement "LAB_001ed5ce:\n        ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71" (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 "local_60 + -0x41b71" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x19a" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec" (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 "uVar6 = local_50 >> 8;" (assignment_expression "uVar6 = local_50 >> 8" identifier = (binary_expression "local_50 >> 8" identifier >> number_literal)) ;) (expression_statement "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));" (assignment_expression "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" identifier = (call_expression "CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" identifier (argument_list "((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" ( (cast_expression "(int3)uVar6" ( (type_descriptor "int3" type_identifier) ) identifier) , (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" * (cast_expression "(byte *)((int)piVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + 0x2a)" ( (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;" (assignment_expression "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7" identifier = (binary_expression "*(byte *)((int)piVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" * (cast_expression "(byte *)((int)piVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar8 + 0x2a)" ( (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" if (parenthesized_expression "(bVar12 == 3)" ( (binary_expression "bVar12 == 3" identifier == number_literal) )) (compound_statement "{\n      uVar6 = 0xfff1;\n    }" { (expression_statement "uVar6 = 0xfff1;" (assignment_expression "uVar6 = 0xfff1" identifier = number_literal) ;) }) (else_clause "else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" else (compound_statement "{\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" { (if_statement "if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" if (parenthesized_expression "(bVar12 != 4)" ( (binary_expression "bVar12 != 4" identifier != number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xccb" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654" (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 "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" if (parenthesized_expression "(iVar13 != -1)" ( (binary_expression "iVar13 != -1" identifier != number_literal) )) (compound_statement "{\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" { (if_statement "if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" if (parenthesized_expression "(local_68 <= (uint)(iVar13 - local_6c))" ( (binary_expression "local_68 <= (uint)(iVar13 - local_6c)" identifier <= (call_expression "(uint)(iVar13 - local_6c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar13 - local_6c)" ( (binary_expression "iVar13 - local_6c" identifier - identifier) )))) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcd1" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672" (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 "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "(iVar13 - local_6c) * 0x10 + local_78" (binary_expression "(iVar13 - local_6c) * 0x10" (parenthesized_expression "(iVar13 - local_6c)" ( (binary_expression "iVar13 - local_6c" identifier - identifier) )) * number_literal) + identifier)) ;) (expression_statement "bVar12 = *(byte *)(piVar8 + 10);" (assignment_expression "bVar12 = *(byte *)(piVar8 + 10)" identifier = (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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) )))) = identifier) ;) (expression_statement "local_50 = uVar6;" (assignment_expression "local_50 = uVar6" identifier = identifier) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar12 >> 4)" ( (binary_expression "bVar12 >> 4" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" * (cast_expression "(uint *)(puVar16 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" * (cast_expression "(int *)(puVar16 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" * (cast_expression "(int **)(puVar16 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar6 = local_50;" (assignment_expression "uVar6 = local_50" identifier = identifier) ;) })) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (if_statement "if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" if (parenthesized_expression "(iVar14 != -1)" ( (binary_expression "iVar14 != -1" identifier != number_literal) )) (compound_statement "{\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" { (if_statement "if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" if (parenthesized_expression "(local_70 <= (uint)(iVar14 - local_74))" ( (binary_expression "local_70 <= (uint)(iVar14 - local_74)" identifier <= (call_expression "(uint)(iVar14 - local_74)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar14 - local_74)" ( (binary_expression "iVar14 - local_74" identifier - identifier) )))) )) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" { (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcdb" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7" (pointer_expression "*(undefined **)(puVar16 + -0x14)" * (cast_expression "(undefined **)(puVar16 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_001ed6e7" & identifier)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c" (pointer_expression "*(int *)(puVar16 + -8)" * (cast_expression "(int *)(puVar16 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -8)" ( (binary_expression "puVar16 + -8" identifier + number_literal) )))) = (binary_expression "(iVar14 - local_74) * 0x10 + local_4c" (binary_expression "(iVar14 - local_74) * 0x10" (parenthesized_expression "(iVar14 - local_74)" ( (binary_expression "iVar14 - local_74" identifier - identifier) )) * number_literal) + identifier)) ;) (expression_statement "piVar8 = local_48;" (assignment_expression "piVar8 = local_48" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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) )))) = identifier) ;) (expression_statement "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));" (assignment_expression "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" identifier = (cast_expression "(int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" identifier (argument_list "(local_48._1_3_,*(byte *)(piVar8 + 10))" ( (field_expression "local_48._1_3_" identifier . field_identifier) , (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" * (cast_expression "(uint *)(puVar16 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (call_expression "(uint)(*(byte *)(piVar8 + 10) >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(piVar8 + 10) >> 4)" ( (binary_expression "*(byte *)(piVar8 + 10) >> 4" (pointer_expression "*(byte *)(piVar8 + 10)" * (cast_expression "(byte *)(piVar8 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 10)" ( (binary_expression "piVar8 + 10" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" * (cast_expression "(uint *)(puVar16 + -0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x14)" ( (binary_expression "puVar16 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" * (cast_expression "(int *)(puVar16 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x18)" ( (binary_expression "puVar16 + -0x18" identifier + number_literal) )))) = (subscript_expression "piVar8[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" * (cast_expression "(int **)(puVar16 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar16 + -0x1c)" ( (binary_expression "puVar16 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" * (cast_expression "(int *)(puVar16 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x20)" ( (binary_expression "puVar16 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" * (cast_expression "(undefined4 *)(puVar16 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x24)" ( (binary_expression "puVar16 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }" if (parenthesized_expression "(*(undefined4 **)(param_1 + 0x164) == puVar17)" ( (binary_expression "*(undefined4 **)(param_1 + 0x164) == puVar17" (pointer_expression "*(undefined4 **)(param_1 + 0x164)" * (cast_expression "(undefined4 **)(param_1 + 0x164)" ( (type_descriptor "undefined4 **" type_identifier (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 "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" identifier = (cast_expression "(int *)*puVar17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" identifier = identifier) ;) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" identifier = (subscript_expression "piVar8[4]" identifier [ number_literal ])) ;) })) (labeled_statement "LAB_001ed5b0:\n  ppuVar3 = local_60;" statement_identifier : (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb" (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 "local_60 + -0x41bbb" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x180" (pointer_expression "*(undefined4 *)(puVar16 + -0xc)" * (cast_expression "(undefined4 *)(puVar16 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0xc)" ( (binary_expression "puVar16 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" * (cast_expression "(int *)(puVar16 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar16 + -0x10)" ( (binary_expression "puVar16 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce" (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 "()" ( ))) ;) })))
(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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (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 * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (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) ))))) ;) (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 ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT | IDENT)) , (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 ])) ;) (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 ( )))) ;) (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 { (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 ( ))) ;) })) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * (abstract_pointer_declarator *))) ) 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) ))))) ;) (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)) ;) (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 ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (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)) ;) (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (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 = IDENT) ;) (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 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) )))) = 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 = IDENT) ;) (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) ;) (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 * (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) )))) = 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 != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (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 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) ))) <= IDENT) )) (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 (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) }) (else_clause else (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) )))) = 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 = (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 = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (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) )))) = 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 * (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 { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= 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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 = (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (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 * 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)) )) (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) )))) = 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 (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 = 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 * (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 * (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 (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 * (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 * (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (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 (pointer_expression * IDENT) + LIT) )))) == 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 *)) ) (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 *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) }) (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 = (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 = (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) )))) ;) }))) (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 ( ))))) ;) (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 ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (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 = 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 = 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 = 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 ( ))))) ;) (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 * (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 * (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 ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }) (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 * (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (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 (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 (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - 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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = 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 * (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 (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 * (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 = (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 *)) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 { (expression_statement (assignment_expression IDENT = (subscript_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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) ;) (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 (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)\n\n{\n  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" (primitive_type "void") (function_declarator "FUN_001ecb30(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int param_5,\n                 int param_6)" (identifier "FUN_001ecb30") (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  uint uVar1;\n  int iVar2;\n  undefined **ppuVar3;\n  code *pcVar4;\n  char cVar5;\n  uint uVar6;\n  undefined **ppuVar7;\n  int *piVar8;\n  undefined **ppuVar9;\n  undefined4 uVar10;\n  byte bVar11;\n  uint in_ECX;\n  byte bVar12;\n  int iVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined4 *puVar17;\n  int aiStackY_a4 [2];\n  undefined1 auStack_8c [4];\n  int *local_88;\n  code *local_84;\n  undefined **ppuStack_80;\n  undefined **ppuStack_7c;\n  int local_78;\n  int local_74;\n  uint local_70;\n  int local_6c;\n  uint local_68;\n  int *local_64;\n  undefined **local_60;\n  undefined **local_5c;\n  undefined **local_58;\n  undefined **local_54;\n  uint local_50;\n  int local_4c;\n  int *local_48;\n  int *piStack_44;\n  uint uStack_40;\n  undefined **ppuStack_34;\n  undefined **ppuStack_30;\n  undefined *apuStack_2c [7];\n  \n  local_60 = &__DT_PLTGOT;\n  puVar16 = auStack_8c;\n  local_64 = &DAT_004144e8;\n  local_88 = *(int **)(DAT_004144e8 + 0xc);\n  if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }\n  local_6c = *(int *)(param_1 + 4);\n  local_68 = *(uint *)(param_1 + 0x10);\n  uVar6 = *(uint *)(param_1 + 0xc);\n  uVar1 = *(uint *)(param_1 + 8);\n  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }\n  local_74 = *(int *)(param_1 + 0x1c);\n  local_70 = *(uint *)(param_1 + 0x20);\n  iVar13 = *(int *)(param_1 + 0x18);\n  uVar6 = *(uint *)(param_1 + 0x14);\n  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }\n  local_48 = *(int **)(param_1 + 0x2c);\n  puVar16 = auStack_8c;\n  if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }\n  puVar17 = *(undefined4 **)(param_1 + 0x160);\n  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }\n  piVar8 = (int *)*puVar17;\n  iVar13 = piVar8[4];\n  ppuVar3 = local_60;\n  while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }\nLAB_001ed5b0:\n  ppuVar3 = local_60;\n  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;\n  *(undefined4 *)(puVar16 + -0xc) = 0x180;\n  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;\n  FUN_000da200();\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined **ppuVar3;" (type_identifier "undefined") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined **ppuVar7;" (type_identifier "undefined") (pointer_declarator "**ppuVar7" (* "*") (pointer_declarator "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined **ppuVar9;" (type_identifier "undefined") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "byte bVar11;" (type_identifier "byte") (identifier "bVar11") (; ";")) (declaration "uint in_ECX;" (type_identifier "uint") (identifier "in_ECX") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int aiStackY_a4 [2];" (primitive_type "int") (array_declarator "aiStackY_a4 [2]" (identifier "aiStackY_a4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 auStack_8c [4];" (type_identifier "undefined1") (array_declarator "auStack_8c [4]" (identifier "auStack_8c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int *local_88;" (primitive_type "int") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "code *local_84;" (type_identifier "code") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "undefined **ppuStack_80;" (type_identifier "undefined") (pointer_declarator "**ppuStack_80" (* "*") (pointer_declarator "*ppuStack_80" (* "*") (identifier "ppuStack_80"))) (; ";")) (declaration "undefined **ppuStack_7c;" (type_identifier "undefined") (pointer_declarator "**ppuStack_7c" (* "*") (pointer_declarator "*ppuStack_7c" (* "*") (identifier "ppuStack_7c"))) (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined **local_60;" (type_identifier "undefined") (pointer_declarator "**local_60" (* "*") (pointer_declarator "*local_60" (* "*") (identifier "local_60"))) (; ";")) (declaration "undefined **local_5c;" (type_identifier "undefined") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))) (; ";")) (declaration "undefined **local_58;" (type_identifier "undefined") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (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") (identifier "local_4c") (; ";")) (declaration "int *local_48;" (primitive_type "int") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int *piStack_44;" (primitive_type "int") (pointer_declarator "*piStack_44" (* "*") (identifier "piStack_44")) (; ";")) (declaration "uint uStack_40;" (type_identifier "uint") (identifier "uStack_40") (; ";")) (declaration "undefined **ppuStack_34;" (type_identifier "undefined") (pointer_declarator "**ppuStack_34" (* "*") (pointer_declarator "*ppuStack_34" (* "*") (identifier "ppuStack_34"))) (; ";")) (declaration "undefined **ppuStack_30;" (type_identifier "undefined") (pointer_declarator "**ppuStack_30" (* "*") (pointer_declarator "*ppuStack_30" (* "*") (identifier "ppuStack_30"))) (; ";")) (declaration "undefined *apuStack_2c [7];" (type_identifier "undefined") (pointer_declarator "*apuStack_2c [7]" (* "*") (array_declarator "apuStack_2c [7]" (identifier "apuStack_2c") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "local_60 = &__DT_PLTGOT;" (assignment_expression "local_60 = &__DT_PLTGOT" (identifier "local_60") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" (identifier "puVar16") (= "=") (identifier "auStack_8c")) (; ";")) (expression_statement "local_64 = &DAT_004144e8;" (assignment_expression "local_64 = &DAT_004144e8" (identifier "local_64") (= "=") (pointer_expression "&DAT_004144e8" (& "&") (identifier "DAT_004144e8"))) (; ";")) (expression_statement "local_88 = *(int **)(DAT_004144e8 + 0xc);" (assignment_expression "local_88 = *(int **)(DAT_004144e8 + 0xc)" (identifier "local_88") (= "=") (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")) () ")"))))) (; ";")) (if_statement "if (local_88 == (int *)0x0) {\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" (if "if") (parenthesized_expression "(local_88 == (int *)0x0)" (( "(") (binary_expression "local_88 == (int *)0x0" (identifier "local_88") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001ed672:\n    ppuVar3 = local_60;\n    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;\n    *(undefined4 *)(puVar16 + -0xc) = 0x69;\n    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;\n    FUN_000da200();\n  }" ({ "{") (labeled_statement "LAB_001ed672:\n    ppuVar3 = local_60;" (statement_identifier "LAB_001ed672") (: ":") (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a94" (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 "local_60 + -0x41a94" (identifier "local_60") (+ "+") (number_literal "-0x41a94"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x69;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x69" (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 "0x69")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed68d" (& "&") (identifier "LAB_001ed68d"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_6c = *(int *)(param_1 + 4);" (assignment_expression "local_6c = *(int *)(param_1 + 4)" (identifier "local_6c") (= "=") (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_68 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_68 = *(uint *)(param_1 + 0x10)" (identifier "local_68") (= "=") (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 "uVar6 = *(uint *)(param_1 + 0xc);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0xc)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_1 + 0xc)" (* "*") (cast_expression "(uint *)(param_1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar1 = *(uint *)(param_1 + 8);" (assignment_expression "uVar1 = *(uint *)(param_1 + 8)" (identifier "uVar1") (= "=") (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_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {\n    local_78 = 0;\n  }\n  else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" (if "if") (parenthesized_expression "((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0))" (( "(") (binary_expression "(local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)" (parenthesized_expression "(local_68 == 0)" (( "(") (binary_expression "local_68 == 0" (identifier "local_68") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(in_ECX = uVar1 | uVar6, in_ECX == 0)" (( "(") (comma_expression "in_ECX = uVar1 | uVar6, in_ECX == 0" (assignment_expression "in_ECX = uVar1 | uVar6" (identifier "in_ECX") (= "=") (binary_expression "uVar1 | uVar6" (identifier "uVar1") (| "|") (identifier "uVar6"))) (, ",") (binary_expression "in_ECX == 0" (identifier "in_ECX") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_78 = 0;\n  }" ({ "{") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" (else "else") (compound_statement "{\n    if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;\n    local_78 = *(int *)(param_6 + 0x10) + uVar1;\n  }" ({ "{") (if_statement "if (((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))\n    goto LAB_001ed746;" (if "if") (parenthesized_expression "(((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))" (( "(") (binary_expression "((int)uVar6 < 0) ||\n       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" (parenthesized_expression "((int)uVar6 < 0)" (( "(") (binary_expression "(int)uVar6 < 0" (cast_expression "(int)uVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar6")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0)" (( "(") (comma_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),\n       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1)" (identifier "iVar14") (= "=") (binary_expression "uVar6 + CARRY4(local_68 * 0x10,uVar1)" (identifier "uVar6") (+ "+") (call_expression "CARRY4(local_68 * 0x10,uVar1)" (identifier "CARRY4") (argument_list "(local_68 * 0x10,uVar1)" (( "(") (binary_expression "local_68 * 0x10" (identifier "local_68") (* "*") (number_literal "0x10")) (, ",") (identifier "uVar1") () ")"))))) (, ",") (comma_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),\n       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" (identifier "uVar6") (= "=") (call_expression "(uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1)" (( "(") (binary_expression "*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1" (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_68 * 0x10 + uVar1" (binary_expression "local_68 * 0x10" (identifier "local_68") (* "*") (number_literal "0x10")) (+ "+") (identifier "uVar1"))) () ")")))) (, ",") (comma_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "iVar13 = *(int *)(param_6 + 0xc) - iVar14" (identifier "iVar13") (= "=") (binary_expression "*(int *)(param_6 + 0xc) - iVar14" (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 "iVar14"))) (, ",") (comma_expression "in_ECX = iVar13 - uVar6,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar13 - uVar6" (identifier "in_ECX") (= "=") (binary_expression "iVar13 - uVar6" (identifier "iVar13") (- "-") (identifier "uVar6"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6))" (( "(") (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar14)" (identifier "SBORROW4") (argument_list "(*(int *)(param_6 + 0xc),iVar14)" (( "(") (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 "iVar14") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar13,uVar6)" (identifier "SBORROW4") (argument_list "(iVar13,uVar6)" (( "(") (identifier "iVar13") (, ",") (identifier "uVar6") () ")")))) () ")")) (!= "!=") (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_ECX")) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (goto_statement "goto LAB_001ed746;" (goto "goto") (statement_identifier "LAB_001ed746") (; ";"))) (expression_statement "local_78 = *(int *)(param_6 + 0x10) + uVar1;" (assignment_expression "local_78 = *(int *)(param_6 + 0x10) + uVar1" (identifier "local_78") (= "=") (binary_expression "*(int *)(param_6 + 0x10) + uVar1" (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 "uVar1"))) (; ";")) (} "}")))) (expression_statement "local_74 = *(int *)(param_1 + 0x1c);" (assignment_expression "local_74 = *(int *)(param_1 + 0x1c)" (identifier "local_74") (= "=") (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_70 = *(uint *)(param_1 + 0x20);" (assignment_expression "local_70 = *(uint *)(param_1 + 0x20)" (identifier "local_70") (= "=") (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 "iVar13 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar13 = *(int *)(param_1 + 0x18)" (identifier "iVar13") (= "=") (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 "uVar6 = *(uint *)(param_1 + 0x14);" (assignment_expression "uVar6 = *(uint *)(param_1 + 0x14)" (identifier "uVar6") (= "=") (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_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {\n    local_4c = 0;\n  }\n  else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" (if "if") (parenthesized_expression "((local_70 == 0) || (uVar6 == 0 && iVar13 == 0))" (( "(") (binary_expression "(local_70 == 0) || (uVar6 == 0 && iVar13 == 0)" (parenthesized_expression "(local_70 == 0)" (( "(") (binary_expression "local_70 == 0" (identifier "local_70") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar6 == 0 && iVar13 == 0)" (( "(") (binary_expression "uVar6 == 0 && iVar13 == 0" (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    local_4c = 0;\n  }" ({ "{") (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" (else "else") (compound_statement "{\n    if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }\n    local_4c = *(int *)(param_6 + 0x10) + uVar6;\n  }" ({ "{") (if_statement "if ((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" (if "if") (parenthesized_expression "((iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0))" (( "(") (binary_expression "(iVar13 < 0) ||\n       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)" (( "(") (comma_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),\n       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" (identifier "iVar13") (= "=") (binary_expression "iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6)" (identifier "iVar13") (+ "+") (cast_expression "(uint)CARRY4(local_70 * 0x10,uVar6)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_70 * 0x10,uVar6)" (identifier "CARRY4") (argument_list "(local_70 * 0x10,uVar6)" (( "(") (binary_expression "local_70 * 0x10" (identifier "local_70") (* "*") (number_literal "0x10")) (, ",") (identifier "uVar6") () ")")))))) (, ",") (comma_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),\n       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" (identifier "uVar1") (= "=") (call_expression "(uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6)" (( "(") (binary_expression "*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6" (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_70 * 0x10 + uVar6" (binary_expression "local_70 * 0x10" (identifier "local_70") (* "*") (number_literal "0x10")) (+ "+") (identifier "uVar6"))) () ")")))) (, ",") (comma_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "iVar14 = *(int *)(param_6 + 0xc) - iVar13" (identifier "iVar14") (= "=") (binary_expression "*(int *)(param_6 + 0xc) - iVar13" (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 "iVar13"))) (, ",") (comma_expression "in_ECX = iVar14 - uVar1,\n       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (assignment_expression "in_ECX = iVar14 - uVar1" (identifier "in_ECX") (= "=") (binary_expression "iVar14 - uVar1" (identifier "iVar14") (- "-") (identifier "uVar1"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1))" (( "(") (binary_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)" (call_expression "SBORROW4(*(int *)(param_6 + 0xc),iVar13)" (identifier "SBORROW4") (argument_list "(*(int *)(param_6 + 0xc),iVar13)" (( "(") (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 "iVar13") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar14,uVar1)" (identifier "SBORROW4") (argument_list "(iVar14,uVar1)" (( "(") (identifier "iVar14") (, ",") (identifier "uVar1") () ")")))) () ")")) (!= "!=") (binary_expression "(int)in_ECX < 0" (cast_expression "(int)in_ECX" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_ECX")) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (compound_statement "{\nLAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);\n    }" ({ "{") (labeled_statement "LAB_001ed746:\n                    \n      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);" (statement_identifier "LAB_001ed746") (: ":") (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_4c = *(int *)(param_6 + 0x10) + uVar6;" (assignment_expression "local_4c = *(int *)(param_6 + 0x10) + uVar6" (identifier "local_4c") (= "=") (binary_expression "*(int *)(param_6 + 0x10) + uVar6" (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 "uVar6"))) (; ";")) (} "}")))) (expression_statement "local_48 = *(int **)(param_1 + 0x2c);" (assignment_expression "local_48 = *(int **)(param_1 + 0x2c)" (identifier "local_48") (= "=") (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 "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" (identifier "puVar16") (= "=") (identifier "auStack_8c")) (; ";")) (if_statement "if (local_48 != (int *)0x0) {\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" (if "if") (parenthesized_expression "(local_48 != (int *)0x0)" (( "(") (binary_expression "local_48 != (int *)0x0" (identifier "local_48") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);\n    puVar16 = auStack_8c;\n    do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);\n  }" ({ "{") (expression_statement "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);" (assignment_expression "local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" (identifier "local_84") (= "=") (cast_expression "(code *)((int)&__DT_PLTGOT + DAT_0030cbb4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&__DT_PLTGOT + DAT_0030cbb4)" (( "(") (binary_expression "(int)&__DT_PLTGOT + DAT_0030cbb4" (cast_expression "(int)&__DT_PLTGOT" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (+ "+") (identifier "DAT_0030cbb4")) () ")")))) (; ";")) (expression_statement "puVar16 = auStack_8c;" (assignment_expression "puVar16 = auStack_8c" (identifier "puVar16") (= "=") (identifier "auStack_8c")) (; ";")) (do_statement "do {\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    } while (local_48 != (int *)0x0);" (do "do") (compound_statement "{\n      iVar13 = local_48[3];\n      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }\nLAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);\n      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;\n      if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }\n      if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }\n      local_48 = (int *)*local_48;\n    }" ({ "{") (expression_statement "iVar13 = local_48[3];" (assignment_expression "iVar13 = local_48[3]" (identifier "iVar13") (= "=") (subscript_expression "local_48[3]" (identifier "local_48") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2))" (( "(") (binary_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)" (parenthesized_expression "((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0))" (( "(") (binary_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&\n          (*(int *)(iVar13 + 0xc) == 0)" (parenthesized_expression "(((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0))" (( "(") (binary_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&\n           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2a)" (( "(") (binary_expression "iVar13 + 0x2a" (identifier "iVar13") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)" (( "(") (comma_expression "iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar13 + 8)" (* "*") (cast_expression "(int *)(iVar13 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")"))))) (, ",") (binary_expression "(*(byte *)(iVar14 + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(iVar14 + 0x2c) & 1" (pointer_expression "*(byte *)(iVar14 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar14 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar13 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar13 + 0xc) == 0" (pointer_expression "*(int *)(iVar13 + 0xc)" (* "*") (cast_expression "(int *)(iVar13 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0xc)" (( "(") (binary_expression "iVar13 + 0xc" (identifier "iVar13") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)(iVar13 + 0x28) >> 4 != 2)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" (* "*") (cast_expression "(byte *)(iVar13 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n        iVar2 = *(int *)(*local_64 + 8);\n        if (iVar2 == 0) goto LAB_001ed61b;\n        if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }\n      }" ({ "{") (expression_statement "iVar2 = *(int *)(*local_64 + 8);" (assignment_expression "iVar2 = *(int *)(*local_64 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) goto LAB_001ed61b;" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ed61b;" (goto "goto") (statement_identifier "LAB_001ed61b") (; ";"))) (if_statement "if (*(char *)(iVar2 + 0x1fd) == '\0') {\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar2 + 0x1fd) == '\0')" (( "(") (binary_expression "*(char *)(iVar2 + 0x1fd) == '\0'" (pointer_expression "*(char *)(iVar2 + 0x1fd)" (* "*") (cast_expression "(char *)(iVar2 + 0x1fd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1fd)" (( "(") (binary_expression "iVar2 + 0x1fd" (identifier "iVar2") (+ "+") (number_literal "0x1fd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);\n          if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }\n          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }\n        }" ({ "{") (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(*local_64 + 0xc)" (* "*") (cast_expression "(int **)(*local_64 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_64 + 0xc)" (( "(") (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001ed672;" (goto "goto") (statement_identifier "LAB_001ed672") (; ";"))) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x1c)" (identifier "ppuVar3") (= "=") (pointer_expression "*(undefined ***)(*piVar8 + 0x1c)" (* "*") (cast_expression "(undefined ***)(*piVar8 + 0x1c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar8 + 0x1c)" (( "(") (binary_expression "*piVar8 + 0x1c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (ppuVar3 != local_60 + -0xdbf94) {\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" (if "if") (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf94)" (( "(") (binary_expression "ppuVar3 != local_60 + -0xdbf94" (identifier "ppuVar3") (!= "!=") (binary_expression "local_60 + -0xdbf94" (identifier "local_60") (+ "+") (number_literal "-0xdbf94"))) () ")")) (compound_statement "{\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;\n            cVar5 = (*(code *)ppuVar3)();\n            if (cVar5 != '\0') goto LAB_001ecc58;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;\n            iVar14 = *(int *)(iVar13 + 8);\n          }" ({ "{") (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed477" (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 "0x1ed477")) (; ";")) (expression_statement "cVar5 = (*(code *)ppuVar3)();" (assignment_expression "cVar5 = (*(code *)ppuVar3)()" (identifier "cVar5") (= "=") (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" (( "(") (pointer_expression "*(code *)ppuVar3" (* "*") (cast_expression "(code *)ppuVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar3"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar5 != '\0') goto LAB_001ecc58;" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001ecc58;" (goto "goto") (statement_identifier "LAB_001ecc58") (; ";"))) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;" (if "if") (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2a)" (( "(") (binary_expression "iVar13 + 0x2a" (identifier "iVar13") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ed48c;" (goto "goto") (statement_identifier "LAB_001ed48c") (; ";"))) (expression_statement "iVar14 = *(int *)(iVar13 + 8);" (assignment_expression "iVar14 = *(int *)(iVar13 + 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(iVar13 + 8)" (* "*") (cast_expression "(int *)(iVar13 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" (if "if") (parenthesized_expression "((*(byte *)(iVar14 + 0x2c) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(iVar14 + 0x2c) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar14 + 0x2c) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar14 + 0x2c) & 0x20" (pointer_expression "*(byte *)(iVar14 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar14 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }\n            if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }\n          }" ({ "{") (if_statement "if (*(int *)(iVar14 + 0x5c) == 0) {\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0x5c) == 0)" (( "(") (binary_expression "*(int *)(iVar14 + 0x5c) == 0" (pointer_expression "*(int *)(iVar14 + 0x5c)" (* "*") (cast_expression "(int *)(iVar14 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x5c)" (( "(") (binary_expression "iVar14 + 0x5c" (identifier "iVar14") (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar16 + -4) = 0;\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;\n              *(undefined4 *)(puVar16 + -0xc) = 0x3e;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;\n                    \n              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;\n              FUN_000da200();\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar16 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3" (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 "local_60 + -0x41bb3" (identifier "local_60") (+ "+") (number_literal "-0x41bb3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x3e;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x3e" (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 "0x3e")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464" (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 "local_60 + -0x47464" (identifier "local_60") (+ "+") (number_literal "-0x47464"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed7db" (& "&") (identifier "LAB_001ed7db"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar14 + 0x5c) != 1) {\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar14 + 0x5c) != 1)" (( "(") (binary_expression "*(int *)(iVar14 + 0x5c) != 1" (pointer_expression "*(int *)(iVar14 + 0x5c)" (* "*") (cast_expression "(int *)(iVar14 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x5c)" (( "(") (binary_expression "iVar14 + 0x5c" (identifier "iVar14") (+ "+") (number_literal "0x5c")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n              *(int *)(puVar16 + -0x10) = iVar13;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;\n              FUN_000d1730();\n            }" ({ "{") (expression_statement "*(int *)(puVar16 + -0x10) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x10) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed410" (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 "0x1ed410")) (; ";")) (expression_statement "FUN_000d1730();" (call_expression "FUN_000d1730()" (identifier "FUN_000d1730") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_001ecc58:\n      ppuVar3 = *(undefined ***)(iVar13 + 0x10);" (statement_identifier "LAB_001ecc58") (: ":") (expression_statement "ppuVar3 = *(undefined ***)(iVar13 + 0x10);" (assignment_expression "ppuVar3 = *(undefined ***)(iVar13 + 0x10)" (identifier "ppuVar3") (= "=") (pointer_expression "*(undefined ***)(iVar13 + 0x10)" (* "*") (cast_expression "(undefined ***)(iVar13 + 0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar13 + 0x10)" (( "(") (binary_expression "iVar13 + 0x10" (identifier "iVar13") (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (if_statement "if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;" (if "if") (parenthesized_expression "(ppuVar3 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar3 == (undefined **)0x0" (identifier "ppuVar3") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001ed5b0;" (goto "goto") (statement_identifier "LAB_001ed5b0") (; ";"))) (if_statement "if (local_4c == 0) {\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }\n      else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" (if "if") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_5c = (undefined **)0xffffffff;\n        ppuVar7 = ppuVar3;\n      }" ({ "{") (expression_statement "local_5c = (undefined **)0xffffffff;" (assignment_expression "local_5c = (undefined **)0xffffffff" (identifier "local_5c") (= "=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "ppuVar7 = ppuVar3;" (assignment_expression "ppuVar7 = ppuVar3" (identifier "ppuVar7") (= "=") (identifier "ppuVar3")) (; ";")) (} "}")) (else_clause "else {\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" (else "else") (compound_statement "{\n        local_5c = *(undefined ***)(iVar13 + 0x14);\n        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;\n        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);\n      }" ({ "{") (expression_statement "local_5c = *(undefined ***)(iVar13 + 0x14);" (assignment_expression "local_5c = *(undefined ***)(iVar13 + 0x14)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined ***)(iVar13 + 0x14)" (* "*") (cast_expression "(undefined ***)(iVar13 + 0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar13 + 0x14)" (( "(") (binary_expression "iVar13 + 0x14" (identifier "iVar13") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;" (if "if") (parenthesized_expression "(local_5c == (undefined **)0x0)" (( "(") (binary_expression "local_5c == (undefined **)0x0" (identifier "local_5c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001ed5ce;" (goto "goto") (statement_identifier "LAB_001ed5ce") (; ";"))) (expression_statement "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);" (assignment_expression "ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3)" (identifier "ppuVar7") (= "=") (cast_expression "(undefined **)((uint)local_5c & (uint)ppuVar3)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((uint)local_5c & (uint)ppuVar3)" (( "(") (binary_expression "(uint)local_5c & (uint)ppuVar3" (cast_expression "(uint)local_5c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_5c")) (& "&") (cast_expression "(uint)ppuVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppuVar3"))) () ")")))) (; ";")) (} "}")))) (if_statement "if (ppuVar7 != (undefined **)0xffffffff) {\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" (if "if") (parenthesized_expression "(ppuVar7 != (undefined **)0xffffffff)" (( "(") (binary_expression "ppuVar7 != (undefined **)0xffffffff" (identifier "ppuVar7") (!= "!=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        local_54 = *(undefined ***)(iVar13 + 0x30);\n        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);\n        iVar14 = *(int *)(*local_64 + 8);\n        if (iVar14 == 0) goto LAB_001ed61b;\n        bVar12 = *(byte *)(iVar13 + 0x2a);\n        uVar6 = bVar12 & 7;\n        bVar11 = (byte)uVar6;\n        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }\n        uVar1 = local_50;\n        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }\n        local_50 = uVar1;\n        if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }\n        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }\nLAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }\n        if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }\n      }" ({ "{") (expression_statement "local_54 = *(undefined ***)(iVar13 + 0x30);" (assignment_expression "local_54 = *(undefined ***)(iVar13 + 0x30)" (identifier "local_54") (= "=") (pointer_expression "*(undefined ***)(iVar13 + 0x30)" (* "*") (cast_expression "(undefined ***)(iVar13 + 0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar13 + 0x30)" (( "(") (binary_expression "iVar13 + 0x30" (identifier "iVar13") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);" (assignment_expression "local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4)" (identifier "local_50") (= "=") (call_expression "(uint)(*(byte *)(iVar13 + 0x28) >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(byte *)(iVar13 + 0x28) >> 4)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar13 + 0x28)" (* "*") (cast_expression "(byte *)(iVar13 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x28)" (( "(") (binary_expression "iVar13 + 0x28" (identifier "iVar13") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar14 = *(int *)(*local_64 + 8);" (assignment_expression "iVar14 = *(int *)(*local_64 + 8)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar14 == 0) goto LAB_001ed61b;" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ed61b;" (goto "goto") (statement_identifier "LAB_001ed61b") (; ";"))) (expression_statement "bVar12 = *(byte *)(iVar13 + 0x2a);" (assignment_expression "bVar12 = *(byte *)(iVar13 + 0x2a)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(iVar13 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2a)" (( "(") (binary_expression "iVar13 + 0x2a" (identifier "iVar13") (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "uVar6 = bVar12 & 7;" (assignment_expression "uVar6 = bVar12 & 7" (identifier "uVar6") (= "=") (binary_expression "bVar12 & 7" (identifier "bVar12") (& "&") (number_literal "7"))) (; ";")) (expression_statement "bVar11 = (byte)uVar6;" (assignment_expression "bVar11 = (byte)uVar6" (identifier "bVar11") (= "=") (cast_expression "(byte)uVar6" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar6"))) (; ";")) (if_statement "if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {\n          if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" (if "if") (parenthesized_expression "((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1))" (( "(") (binary_expression "(*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)" (parenthesized_expression "(*(char *)(iVar14 + 0x49b1) != '\0')" (( "(") (binary_expression "*(char *)(iVar14 + 0x49b1) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x49b1)" (* "*") (cast_expression "(char *)(iVar14 + 0x49b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x49b1)" (( "(") (binary_expression "iVar14 + 0x49b1" (identifier "iVar14") (+ "+") (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 (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }\n          if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }\n          if (4 < bVar11) goto LAB_001ed5ec;\n          ppuVar7 = local_54;\n          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }\n          goto LAB_001ecd70;\n        }" ({ "{") (if_statement "if (bVar11 == 0) {\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }" (if "if") (parenthesized_expression "(bVar11 == 0)" (( "(") (binary_expression "bVar11 == 0" (identifier "bVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_58 = *(undefined ***)(iVar13 + 0xc);\n            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }\n                    \n                    \n            (*local_84)();\n            return;\n          }" ({ "{") (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" (identifier "local_58") (= "=") (pointer_expression "*(undefined ***)(iVar13 + 0xc)" (* "*") (cast_expression "(undefined ***)(iVar13 + 0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar13 + 0xc)" (( "(") (binary_expression "iVar13 + 0xc" (identifier "iVar13") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" (if "if") (parenthesized_expression "((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0))" (( "(") (binary_expression "(local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" (parenthesized_expression "(local_58 == (undefined **)0x0)" (( "(") (binary_expression "local_58 == (undefined **)0x0" (identifier "local_58") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) >> 5 & 1)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2b)" (( "(") (binary_expression "iVar13 + 0x2b" (identifier "iVar13") (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();\n              return;\n            }" ({ "{") (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d04]))" (( "(") (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d04])" (* "*") (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d04])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d04])" (( "(") (binary_expression "(int)local_60 + (int)local_60[-0x41d04]" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (cast_expression "(int)local_60[-0x41d04]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_60[-0x41d04]" (identifier "local_60") ([ "[") (number_literal "-0x41d04") (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*local_84)();" (call_expression "(*local_84)()" (parenthesized_expression "(*local_84)" (( "(") (pointer_expression "*local_84" (* "*") (identifier "local_84")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (bVar11 == 4) {\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" (if "if") (parenthesized_expression "(bVar11 == 4)" (( "(") (binary_expression "bVar11 == 4" (identifier "bVar11") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                    \n                    \n            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();\n            return;\n          }" ({ "{") (expression_statement "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();" (call_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))()" (parenthesized_expression "(*(code *)((int)local_60 + (int)local_60[-0x41d0a]))" (( "(") (pointer_expression "*(code *)((int)local_60 + (int)local_60[-0x41d0a])" (* "*") (cast_expression "(code *)((int)local_60 + (int)local_60[-0x41d0a])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_60 + (int)local_60[-0x41d0a])" (( "(") (binary_expression "(int)local_60 + (int)local_60[-0x41d0a]" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (cast_expression "(int)local_60[-0x41d0a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_60[-0x41d0a]" (identifier "local_60") ([ "[") (number_literal "-0x41d0a") (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (4 < bVar11) goto LAB_001ed5ec;" (if "if") (parenthesized_expression "(4 < bVar11)" (( "(") (binary_expression "4 < bVar11" (number_literal "4") (< "<") (identifier "bVar11")) () ")")) (goto_statement "goto LAB_001ed5ec;" (goto "goto") (statement_identifier "LAB_001ed5ec") (; ";"))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (switch_statement "switch(local_60[uVar6 - 0x41d09] + (int)local_60) {\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" (switch "switch") (parenthesized_expression "(local_60[uVar6 - 0x41d09] + (int)local_60)" (( "(") (binary_expression "local_60[uVar6 - 0x41d09] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d09]" (identifier "local_60") ([ "[") (binary_expression "uVar6 - 0x41d09" (identifier "uVar6") (- "-") (number_literal "0x41d09")) (] "]")) (+ "+") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) () ")")) (compound_statement "{\n          case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;\n          case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;\n          case (undefined *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;\n          case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;\n          case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();\n          }" ({ "{") (case_statement "case (undefined *)0x1ed0f0:\n            local_50 = 1;\n            local_58 = (undefined **)0x0;\n            break;" (case "case") (cast_expression "(undefined *)0x1ed0f0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ed0f0")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" (identifier "local_58") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1ed110:\n            local_50 = 1;\n            local_58 = (undefined **)0xfff1;\n            break;" (case "case") (cast_expression "(undefined *)0x1ed110" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ed110")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (undefined **)0xfff1" (identifier "local_58") (= "=") (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 *)0x1ed300:\n            local_50 = 1;\n            goto code_r0x001ecfc3;" (case "case") (cast_expression "(undefined *)0x1ed300" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ed300")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x001ecfc3;" (goto "goto") (statement_identifier "code_r0x001ecfc3") (; ";"))) (case_statement "case (undefined *)0x1ed310:\n            local_50 = 1;\n            goto code_r0x001ecf43;" (case "case") (cast_expression "(undefined *)0x1ed310" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ed310")) (: ":") (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto code_r0x001ecf43;" (goto "goto") (statement_identifier "code_r0x001ecf43") (; ";"))) (case_statement "case (undefined *)0x1ed6e7:\ncode_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;\n            *(undefined4 *)(puVar16 + -0xc) = 0xaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;\n            FUN_000da200();" (case "case") (cast_expression "(undefined *)0x1ed6e7" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ed6e7")) (: ":") (labeled_statement "code_r0x001ed6e7:\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" (statement_identifier "code_r0x001ed6e7") (: ":") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e" (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 "local_60 + -0x41a8e" (identifier "local_60") (+ "+") (number_literal "-0x41a8e"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xaa" (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 "0xaa")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed705" (& "&") (identifier "LAB_001ed705"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_001ecd70;" (goto "goto") (statement_identifier "LAB_001ecd70") (; ";")) (} "}"))) (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" (identifier "uVar1") (= "=") (identifier "local_50")) (; ";")) (if_statement "if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {\n          uVar1 = local_50;\n        }" (if "if") (parenthesized_expression "((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'))" (( "(") (binary_expression "(local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" (parenthesized_expression "(local_50 == 10)" (( "(") (binary_expression "local_50 == 10" (identifier "local_50") (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')" (( "(") (comma_expression "uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0'" (assignment_expression "uVar1 = 1" (identifier "uVar1") (= "=") (number_literal "1")) (, ",") (binary_expression "*(char *)(iVar14 + 0x19a9) != '\0'" (pointer_expression "*(char *)(iVar14 + 0x19a9)" (* "*") (cast_expression "(char *)(iVar14 + 0x19a9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar14 + 0x19a9)" (( "(") (binary_expression "iVar14 + 0x19a9" (identifier "iVar14") (+ "+") (number_literal "0x19a9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          uVar1 = local_50;\n        }" ({ "{") (expression_statement "uVar1 = local_50;" (assignment_expression "uVar1 = local_50" (identifier "uVar1") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "local_50 = uVar1;" (assignment_expression "local_50 = uVar1" (identifier "local_50") (= "=") (identifier "uVar1")) (; ";")) (if_statement "if (4 < bVar11) {\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" (if "if") (parenthesized_expression "(4 < bVar11)" (( "(") (binary_expression "4 < bVar11" (number_literal "4") (< "<") (identifier "bVar11")) () ")")) (compound_statement "{\nLAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;\n          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;\n          FUN_000da200();\n        }" ({ "{") (labeled_statement "LAB_001ed5ec:\n          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (statement_identifier "LAB_001ed5ec") (: ":") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc9b;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc9b" (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 "0xc9b")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed60a" (& "&") (identifier "LAB_001ed60a"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (switch_statement "switch(local_60[uVar6 - 0x41d18] + (int)local_60) {\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" (switch "switch") (parenthesized_expression "(local_60[uVar6 - 0x41d18] + (int)local_60)" (( "(") (binary_expression "local_60[uVar6 - 0x41d18] + (int)local_60" (subscript_expression "local_60[uVar6 - 0x41d18]" (identifier "local_60") ([ "[") (binary_expression "uVar6 - 0x41d18" (identifier "uVar6") (- "-") (number_literal "0x41d18")) (] "]")) (+ "+") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) () ")")) (compound_statement "{\n        case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;\n        case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;\n        case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;\n        case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);\n        }" ({ "{") (case_statement "case (undefined *)0x1ecd00:\n          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;\n          local_58 = *(undefined ***)(iVar13 + 0xc);\n          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;\n          bVar12 = bVar11 & 1;\n          ppuVar7 = local_58;\n          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }\n          break;" (case "case") (cast_expression "(undefined *)0x1ecd00" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ecd00")) (: ":") (if_statement "if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;" (if "if") (parenthesized_expression "((bVar12 & 7) != 0)" (( "(") (binary_expression "(bVar12 & 7) != 0" (parenthesized_expression "(bVar12 & 7)" (( "(") (binary_expression "bVar12 & 7" (identifier "bVar12") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto code_r0x001ed6e7;" (goto "goto") (statement_identifier "code_r0x001ed6e7") (; ";"))) (expression_statement "local_58 = *(undefined ***)(iVar13 + 0xc);" (assignment_expression "local_58 = *(undefined ***)(iVar13 + 0xc)" (identifier "local_58") (= "=") (pointer_expression "*(undefined ***)(iVar13 + 0xc)" (* "*") (cast_expression "(undefined ***)(iVar13 + 0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar13 + 0xc)" (( "(") (binary_expression "iVar13 + 0xc" (identifier "iVar13") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;" (assignment_expression "bVar11 = *(byte *)(iVar13 + 0x2b) >> 5" (identifier "bVar11") (= "=") (binary_expression "*(byte *)(iVar13 + 0x2b) >> 5" (pointer_expression "*(byte *)(iVar13 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2b)" (( "(") (binary_expression "iVar13 + 0x2b" (identifier "iVar13") (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5"))) (; ";")) (expression_statement "bVar12 = bVar11 & 1;" (assignment_expression "bVar12 = bVar11 & 1" (identifier "bVar12") (= "=") (binary_expression "bVar11 & 1" (identifier "bVar11") (& "&") (number_literal "1"))) (; ";")) (expression_statement "ppuVar7 = local_58;" (assignment_expression "ppuVar7 = local_58" (identifier "ppuVar7") (= "=") (identifier "local_58")) (; ";")) (if_statement "if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" (if "if") (parenthesized_expression "((local_58 != (undefined **)0xfff1) && (bVar12 != 1))" (( "(") (binary_expression "(local_58 != (undefined **)0xfff1) && (bVar12 != 1)" (parenthesized_expression "(local_58 != (undefined **)0xfff1)" (( "(") (binary_expression "local_58 != (undefined **)0xfff1" (identifier "local_58") (!= "!=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) () ")")) (&& "&&") (parenthesized_expression "(bVar12 != 1)" (( "(") (binary_expression "bVar12 != 1" (identifier "bVar12") (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -0x10) = local_58;\n            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;\n            ppuStack_7c = local_58;\n            cVar5 = FUN_001e6ac0();\n            if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }\n            ppuVar7 = ppuStack_7c;\n            bVar12 = (byte)ppuStack_80;\n            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_58" (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")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);" (assignment_expression "ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" (identifier "ppuStack_80") (= "=") (cast_expression "(undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01)" (( "(") (binary_expression "CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01" (call_expression "CONCAT31(ppuStack_80._1_3_,bVar11)" (identifier "CONCAT31") (argument_list "(ppuStack_80._1_3_,bVar11)" (( "(") (field_expression "ppuStack_80._1_3_" (identifier "ppuStack_80") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar11") () ")"))) (& "&") (number_literal "0xffffff01")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed33f" (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 "0x1ed33f")) (; ";")) (expression_statement "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" (identifier "ppuStack_7c") (= "=") (identifier "local_58")) (; ";")) (expression_statement "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" (identifier "cVar5") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar5 == '\0') {\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppuStack_80 = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;\n              FUN_001e7db0();\n              ppuStack_7c = ppuStack_34;\n              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;\n              uVar10 = gettext();\n              *(undefined ***)(puVar16 + -8) = ppuStack_80;\n              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n              *(undefined4 *)(puVar16 + -0x10) = uVar10;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;\n              FUN_000d1330();\n              ppuVar7 = local_54;\n              if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }\n              break;\n            }" ({ "{") (expression_statement "ppuStack_80 = ppuStack_7c;" (assignment_expression "ppuStack_80 = ppuStack_7c" (identifier "ppuStack_80") (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -4) = 0x1ed39d;" (assignment_expression "*(undefined4 *)(puVar16 + -4) = 0x1ed39d" (pointer_expression "*(undefined4 *)(puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -4)" (( "(") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ed39d")) (; ";")) (expression_statement "FUN_001e7db0();" (call_expression "FUN_001e7db0()" (identifier "FUN_001e7db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuStack_7c = ppuStack_34;" (assignment_expression "ppuStack_7c = ppuStack_34" (identifier "ppuStack_7c") (= "=") (identifier "ppuStack_34")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21" (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 "local_60 + -0x41d21" (identifier "local_60") (+ "+") (number_literal "-0x41d21"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7" (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 "0x1ed3b7")) (; ";")) (expression_statement "uVar10 = gettext();" (assignment_expression "uVar10 = gettext()" (identifier "uVar10") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_80;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_80" (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")) () ")")))) (= "=") (identifier "ppuStack_80")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = uVar10;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = uVar10" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb" (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 "0x1ed3cb")) (; ";")) (expression_statement "FUN_000d1330();" (call_expression "FUN_000d1330()" (identifier "FUN_000d1330") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (ppuStack_34 != apuStack_2c) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" (if "if") (parenthesized_expression "(ppuStack_34 != apuStack_2c)" (( "(") (binary_expression "ppuStack_34 != apuStack_2c" (identifier "ppuStack_34") (!= "!=") (identifier "apuStack_2c")) () ")")) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;\n                FUN_00248220();\n                ppuVar7 = local_54;\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_34;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_34" (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")) () ")")))) (= "=") (identifier "ppuStack_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8" (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 "0x1ed3e8")) (; ";")) (expression_statement "FUN_00248220();" (call_expression "FUN_00248220()" (identifier "FUN_00248220") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" (identifier "ppuVar7") (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "bVar12 = (byte)ppuStack_80;" (assignment_expression "bVar12 = (byte)ppuStack_80" (identifier "bVar12") (= "=") (cast_expression "(byte)ppuStack_80" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppuStack_80"))) (; ";")) (if_statement "if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar13 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar13 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2a)" (( "(") (binary_expression "iVar13 + 0x2a" (identifier "iVar13") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;\n              *(undefined4 *)(puVar16 + -0xc) = 0xa1;\n              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;\n              FUN_000da200();\n            }" ({ "{") (labeled_statement "LAB_001ed48c:\n              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" (statement_identifier "LAB_001ed48c") (: ":") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a96" (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 "local_60 + -0x41a96" (identifier "local_60") (+ "+") (number_literal "-0x41a96"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xa1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xa1" (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 "0xa1")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed4aa" (& "&") (identifier "UNK_001ed4aa"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(iVar13 + 8)" (* "*") (cast_expression "(int **)(iVar13 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }\n          else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0xb) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0xb) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xb) & 1)" (( "(") (binary_expression "*(byte *)(piVar8 + 0xb) & 1" (pointer_expression "*(byte *)(piVar8 + 0xb)" (* "*") (cast_expression "(byte *)(piVar8 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0xb)" (( "(") (binary_expression "piVar8 + 0xb" (identifier "piVar8") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar14 = *piVar8;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);\n            pcVar4 = *(code **)(iVar14 + 0x14);\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;\n            ppuStack_7c = ppuVar7;\n            iVar14 = (*pcVar4)();\n            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;\n            if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }\n          }" ({ "{") (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" (identifier "iVar14") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);" (assignment_expression "ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" (identifier "ppuStack_80") (= "=") (cast_expression "(undefined **)CONCAT31(ppuStack_80._1_3_,bVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(ppuStack_80._1_3_,bVar12)" (identifier "CONCAT31") (argument_list "(ppuStack_80._1_3_,bVar12)" (( "(") (field_expression "ppuStack_80._1_3_" (identifier "ppuStack_80") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar12") () ")"))))) (; ";")) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(iVar14 + 0x14)" (* "*") (cast_expression "(code **)(iVar14 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed14f" (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 "0x1ed14f")) (; ";")) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar7")) (; ";")) (expression_statement "iVar14 = (*pcVar4)();" (assignment_expression "iVar14 = (*pcVar4)()" (identifier "iVar14") (= "=") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;" (if "if") (parenthesized_expression "((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0))" (( "(") (binary_expression "(ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)" (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" (( "(") (binary_expression "ppuStack_7c == (undefined **)0x0" (identifier "ppuStack_7c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001ecfa0;" (goto "goto") (statement_identifier "LAB_001ecfa0") (; ";"))) (if_statement "if ((byte)ppuStack_80 == '\0') {\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }\n            else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" (if "if") (parenthesized_expression "((byte)ppuStack_80 == '\0')" (( "(") (binary_expression "(byte)ppuStack_80 == '\0'" (cast_expression "(byte)ppuStack_80" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppuStack_80")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              ppuVar7 = local_54;\n              if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }\n            }" ({ "{") (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (ppuStack_7c != (undefined **)0xfff1) {\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" (if "if") (parenthesized_expression "(ppuStack_7c != (undefined **)0xfff1)" (( "(") (binary_expression "ppuStack_7c != (undefined **)0xfff1" (identifier "ppuStack_7c") (!= "!=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) () ")")) (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;\n                cVar5 = FUN_001e6ac0();\n                ppuVar7 = local_54;\n                if (cVar5 == '\0') goto LAB_001ed196;\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuStack_7c" (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")) () ")")))) (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed188" (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 "0x1ed188")) (; ";")) (expression_statement "cVar5 = FUN_001e6ac0();" (assignment_expression "cVar5 = FUN_001e6ac0()" (identifier "cVar5") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (cVar5 == '\0') goto LAB_001ed196;" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001ed196;" (goto "goto") (statement_identifier "LAB_001ed196") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" (else "else") (compound_statement "{\nLAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);\n              ppuStack_80 = local_60 + -0xdb9ec;\n              if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }\n              *(undefined ***)(puVar16 + -8) = ppuStack_7c;\n              *(int **)(puVar16 + -0xc) = piVar8;\n              *(int *)(puVar16 + -0x10) = param_1;\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;\n              local_58 = ppuStack_7c;\n              ppuStack_7c = ppuVar7;\n              cVar5 = FUN_001e6ec0();\n              ppuVar7 = local_60;\n              if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }\n              puVar16 = puVar15;\n              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);\n              if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }\n              if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }\n              if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }\n              ppuVar7 = local_54;\n              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;\n            }" ({ "{") (labeled_statement "LAB_001ed196:\n              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" (statement_identifier "LAB_001ed196") (: ":") (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x60);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x60)" (identifier "ppuVar7") (= "=") (pointer_expression "*(undefined ***)(*piVar8 + 0x60)" (* "*") (cast_expression "(undefined ***)(*piVar8 + 0x60)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar8 + 0x60)" (( "(") (binary_expression "*piVar8 + 0x60" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x60")) () ")"))))) (; ";"))) (expression_statement "ppuStack_80 = local_60 + -0xdb9ec;" (assignment_expression "ppuStack_80 = local_60 + -0xdb9ec" (identifier "ppuStack_80") (= "=") (binary_expression "local_60 + -0xdb9ec" (identifier "local_60") (+ "+") (number_literal "-0xdb9ec"))) (; ";")) (if_statement "if (ppuVar7 == ppuStack_80) {\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }\n              else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" (if "if") (parenthesized_expression "(ppuVar7 == ppuStack_80)" (( "(") (binary_expression "ppuVar7 == ppuStack_80" (identifier "ppuVar7") (== "==") (identifier "ppuStack_80")) () ")")) (compound_statement "{\n                puVar15 = puVar16;\n                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;\n                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);\n              }" ({ "{") (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" (identifier "puVar15") (= "=") (identifier "puVar16")) (; ";")) (if_statement "if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)\n                goto LAB_001ed7a6;" (if "if") (parenthesized_expression "((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)" (( "(") (binary_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c" (cast_expression "(undefined **)(piVar8[0xf] - piVar8[0xe] >> 2)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar8[0xf] - piVar8[0xe] >> 2)" (( "(") (binary_expression "piVar8[0xf] - piVar8[0xe] >> 2" (binary_expression "piVar8[0xf] - piVar8[0xe]" (subscript_expression "piVar8[0xf]" (identifier "piVar8") ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "piVar8[0xe]" (identifier "piVar8") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "ppuStack_7c")) () ")")) (goto_statement "goto LAB_001ed7a6;" (goto "goto") (statement_identifier "LAB_001ed7a6") (; ";"))) (expression_statement "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);" (assignment_expression "ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" (identifier "ppuVar7") (= "=") (pointer_expression "*(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" (* "*") (cast_expression "(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piVar8[0xe] + (int)ppuStack_7c * 4)" (( "(") (binary_expression "piVar8[0xe] + (int)ppuStack_7c * 4" (subscript_expression "piVar8[0xe]" (identifier "piVar8") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "(int)ppuStack_7c * 4" (cast_expression "(int)ppuStack_7c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuStack_7c")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" (else "else") (compound_statement "{\n                local_58 = ppuStack_7c;\n                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;\n                *(int **)(puVar16 + -0x10) = piVar8;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;\n                ppuVar7 = (undefined **)(*(code *)ppuVar7)();\n                ppuStack_7c = local_58;\n              }" ({ "{") (expression_statement "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" (identifier "local_58") (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = ppuStack_7c" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed55d" (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 "0x1ed55d")) (; ";")) (expression_statement "ppuVar7 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "ppuVar7 = (undefined **)(*(code *)ppuVar7)()" (identifier "ppuVar7") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar7)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" (( "(") (pointer_expression "*(code *)ppuVar7" (* "*") (cast_expression "(code *)ppuVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar7"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppuStack_7c = local_58;" (assignment_expression "ppuStack_7c = local_58" (identifier "ppuStack_7c") (= "=") (identifier "local_58")) (; ";")) (} "}")))) (expression_statement "*(undefined ***)(puVar16 + -8) = ppuStack_7c;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuStack_7c" (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")) () ")")))) (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "*(int **)(puVar16 + -0xc) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0xc) = piVar8" (pointer_expression "*(int **)(puVar16 + -0xc)" (* "*") (cast_expression "(int **)(puVar16 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_1" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8" (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 "0x1ed1d8")) (; ";")) (expression_statement "local_58 = ppuStack_7c;" (assignment_expression "local_58 = ppuStack_7c" (identifier "local_58") (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar7")) (; ";")) (expression_statement "cVar5 = FUN_001e6ec0();" (assignment_expression "cVar5 = FUN_001e6ec0()" (identifier "cVar5") (= "=") (call_expression "FUN_001e6ec0()" (identifier "FUN_001e6ec0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" (identifier "ppuVar7") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (cVar5 == '\0') {\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                ppuVar9 = ppuStack_7c;\n                puVar15 = puVar16;\n                if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }\n              }" ({ "{") (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" (identifier "ppuVar9") (= "=") (identifier "ppuStack_7c")) (; ";")) (expression_statement "puVar15 = puVar16;" (assignment_expression "puVar15 = puVar16" (identifier "puVar15") (= "=") (identifier "puVar16")) (; ";")) (if_statement "if (ppuStack_7c == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "(ppuStack_7c == (undefined **)0x0)" (( "(") (binary_expression "ppuStack_7c == (undefined **)0x0" (identifier "ppuStack_7c") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar16 + -4) = local_58;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;\n                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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 "local_58")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc59;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc59" (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 "0xc59")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed77b" (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 "0x1ed77b")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar16 + -4) = local_58;\n                *(int **)(puVar16 + -8) = piVar8;\n                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);\n                *(int ***)(puVar16 + -0x10) = &piStack_44;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;\n                FUN_000dd700();\n                puVar15 = puVar16 + -4;\n                if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }\n                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);\n                if (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }\n                puVar15 = puVar16 + -4;\n                if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -4) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -4) = local_58" (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 "local_58")) (; ";")) (expression_statement "*(int **)(puVar16 + -8) = piVar8;" (assignment_expression "*(int **)(puVar16 + -8) = piVar8" (pointer_expression "*(int **)(puVar16 + -8)" (* "*") (cast_expression "(int **)(puVar16 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c)" (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")) () ")")))) (= "=") (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 ***)(puVar16 + -0x10) = &piStack_44;" (assignment_expression "*(int ***)(puVar16 + -0x10) = &piStack_44" (pointer_expression "*(int ***)(puVar16 + -0x10)" (* "*") (cast_expression "(int ***)(puVar16 + -0x10)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&piStack_44" (& "&") (identifier "piStack_44"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3" (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 "0x1ed4d3")) (; ";")) (expression_statement "FUN_000dd700();" (call_expression "FUN_000dd700()" (identifier "FUN_000dd700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" (identifier "puVar15") (= "=") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (piStack_44 == (int *)0x0) {\n                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\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                  *(int *)(puVar16 + -8) = iVar13;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(int *)(puVar16 + -8) = iVar13;" (assignment_expression "*(int *)(puVar16 + -8) = iVar13" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc53;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc53" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc53")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" (* "*") (cast_expression "(int *)(puVar16 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed721" (pointer_expression "*(undefined **)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&UNK_001ed721" (& "&") (identifier "UNK_001ed721"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);" (assignment_expression "ppuVar9 = *(undefined ***)(*piStack_44 + 0x60)" (identifier "ppuVar9") (= "=") (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 (ppuVar9 == ppuStack_80) {\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }\n                else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" (if "if") (parenthesized_expression "(ppuVar9 == ppuStack_80)" (( "(") (binary_expression "ppuVar9 == ppuStack_80" (identifier "ppuVar9") (== "==") (identifier "ppuStack_80")) () ")")) (compound_statement "{\n                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }\n                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);\n                }" ({ "{") (if_statement "if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" (if "if") (parenthesized_expression "((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40)" (( "(") (binary_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40" (call_expression "(uint)(piStack_44[0xf] - piStack_44[0xe] >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(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")) () ")"))) (<= "<=") (identifier "uStack_40")) () ")")) (compound_statement "{\nLAB_001ed7a6:\n                    ppuVar7 = local_60;\n                    *(undefined ***)(puVar15 + -4) = ppuVar3;\n                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;\n                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;\n                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;\n                    \n                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;\n                    FUN_000da200();\n                  }" ({ "{") (labeled_statement "LAB_001ed7a6:\n                    ppuVar7 = local_60;" (statement_identifier "LAB_001ed7a6") (: ":") (expression_statement "ppuVar7 = local_60;" (assignment_expression "ppuVar7 = local_60" (identifier "ppuVar7") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar15 + -4) = ppuVar3;" (assignment_expression "*(undefined ***)(puVar15 + -4) = ppuVar3" (pointer_expression "*(undefined ***)(puVar15 + -4)" (* "*") (cast_expression "(undefined ***)(puVar15 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar3")) (; ";")) (expression_statement "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;" (assignment_expression "*(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9" (pointer_expression "*(undefined ***)(puVar15 + -8)" (* "*") (cast_expression "(undefined ***)(puVar15 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppuVar7 + -0x41aa9" (identifier "ppuVar7") (+ "+") (number_literal "-0x41aa9"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c8")) (; ";")) (expression_statement "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;" (assignment_expression "*(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e" (pointer_expression "*(undefined ***)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar7 + -0x4746e" (identifier "ppuVar7") (+ "+") (number_literal "-0x4746e"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ed7c2")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);" (assignment_expression "ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" (identifier "ppuVar9") (= "=") (pointer_expression "*(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" (* "*") (cast_expression "(undefined ***)(piStack_44[0xe] + uStack_40 * 4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(piStack_44[0xe] + uStack_40 * 4)" (( "(") (binary_expression "piStack_44[0xe] + uStack_40 * 4" (subscript_expression "piStack_44[0xe]" (identifier "piStack_44") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "uStack_40 * 4" (identifier "uStack_40") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" (else "else") (compound_statement "{\n                  *(uint *)(puVar16 + -0x10) = uStack_40;\n                  *(int **)(puVar16 + -0x14) = piStack_44;\n                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;\n                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();\n                }" ({ "{") (expression_statement "*(uint *)(puVar16 + -0x10) = uStack_40;" (assignment_expression "*(uint *)(puVar16 + -0x10) = uStack_40" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uStack_40")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x14) = piStack_44;" (assignment_expression "*(int **)(puVar16 + -0x14) = piStack_44" (pointer_expression "*(int **)(puVar16 + -0x14)" (* "*") (cast_expression "(int **)(puVar16 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piStack_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611;" (assignment_expression "*(undefined4 *)(puVar16 + -0x18) = 0x1ed611" (pointer_expression "*(undefined4 *)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1ed611")) (; ";")) (expression_statement "ppuVar9 = (undefined **)(*(code *)ppuVar9)();" (assignment_expression "ppuVar9 = (undefined **)(*(code *)ppuVar9)()" (identifier "ppuVar9") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar9)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar9)()" (parenthesized_expression "(*(code *)ppuVar9)" (( "(") (pointer_expression "*(code *)ppuVar9" (* "*") (cast_expression "(code *)ppuVar9" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar9"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "puVar15 = puVar16 + -4;" (assignment_expression "puVar15 = puVar16 + -4" (identifier "puVar15") (= "=") (binary_expression "puVar16 + -4" (identifier "puVar16") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar9 == (undefined **)0x0" (identifier "ppuVar9") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  *(undefined ***)(puVar16 + -8) = ppuVar7;\n                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;\n                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;\n                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;\n                    \n                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;\n                  FUN_000da200();\n                }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar7" (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")) () ")")))) (= "=") (identifier "ppuVar7")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8" (pointer_expression "*(undefined ***)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = 0xc57;" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = 0xc57" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0xc57")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x14)" (* "*") (cast_expression "(int *)(puVar16 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;" (assignment_expression "*(undefined **)(puVar16 + -0x18) = &UNK_001ed52c" (pointer_expression "*(undefined **)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "&UNK_001ed52c" (& "&") (identifier "UNK_001ed52c"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar16 = puVar15;" (assignment_expression "puVar16 = puVar15" (identifier "puVar16") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c)" (identifier "ppuVar7") (= "=") (pointer_expression "*(undefined ***)(*ppuVar9 + 0x2c)" (* "*") (cast_expression "(undefined ***)(*ppuVar9 + 0x2c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*ppuVar9 + 0x2c)" (( "(") (binary_expression "*ppuVar9 + 0x2c" (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }\n              else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" (if "if") (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" (( "(") (binary_expression "ppuVar7 == local_60 + -0xcba68" (identifier "ppuVar7") (== "==") (binary_expression "local_60 + -0xcba68" (identifier "local_60") (+ "+") (number_literal "-0xcba68"))) () ")")) (compound_statement "{\n                local_58 = (undefined **)ppuVar9[0x18];\n                if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }\n              }" ({ "{") (expression_statement "local_58 = (undefined **)ppuVar9[0x18];" (assignment_expression "local_58 = (undefined **)ppuVar9[0x18]" (identifier "local_58") (= "=") (cast_expression "(undefined **)ppuVar9[0x18]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar9[0x18]" (identifier "ppuVar9") ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (if_statement "if (local_58 == (undefined **)0xffffffff) {\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" (if "if") (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" (( "(") (binary_expression "local_58 == (undefined **)0xffffffff" (identifier "local_58") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\nLAB_001ed7db:\n                  ppuVar3 = local_60;\n                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;\n                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;\n                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;\n                    \n                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;\n                  FUN_000da200();\n                }" ({ "{") (labeled_statement "LAB_001ed7db:\n                  ppuVar3 = local_60;" (statement_identifier "LAB_001ed7db") (: ":") (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7" (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 "local_60 + -0x41bb7" (identifier "local_60") (+ "+") (number_literal "-0x41bb7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x1043;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x1043" (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 "0x1043")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469" (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 "ppuVar3 + -0x47469" (identifier "ppuVar3") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed7f9" (& "&") (identifier "LAB_001ed7f9"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" (else "else") (compound_statement "{\n                *(undefined ***)(puVar16 + -0x10) = ppuVar9;\n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;\n                ppuStack_7c = ppuVar9;\n                local_58 = (undefined **)(*(code *)ppuVar7)();\n                ppuVar9 = ppuStack_7c;\n              }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -0x10) = ppuVar9;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = ppuVar9" (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")) () ")")))) (= "=") (identifier "ppuVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed545" (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 "0x1ed545")) (; ";")) (expression_statement "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar9")) (; ";")) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" (identifier "local_58") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar7)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" (( "(") (pointer_expression "*(code *)ppuVar7" (* "*") (cast_expression "(code *)ppuVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar7"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" (identifier "ppuVar9") (= "=") (identifier "ppuStack_7c")) (; ";")) (} "}")))) (if_statement "if ((undefined **)0xfeff < local_58) {\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" (if "if") (parenthesized_expression "((undefined **)0xfeff < local_58)" (( "(") (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfeff")) (< "<") (identifier "local_58")) () ")")) (compound_statement "{\n                if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }\n                if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }\n              }" ({ "{") (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" (if "if") (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" (( "(") (binary_expression "ppuVar3 != (undefined **)0xffffffff" (identifier "ppuVar3") (!= "!=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;\n                  ppuStack_7c = ppuVar9;\n                  ppuStack_34 = ppuVar3;\n                  FUN_000efc40();\n                  ppuVar9 = ppuStack_7c;\n                }" ({ "{") (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" (identifier "ppuStack_30") (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ****)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&ppuStack_34" (& "&") (identifier "ppuStack_34"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_4 + 0x2c" (identifier "param_4") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed241" (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 "0x1ed241")) (; ";")) (expression_statement "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar9")) (; ";")) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" (identifier "ppuStack_34") (= "=") (identifier "ppuVar3")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" (identifier "ppuVar9") (= "=") (identifier "ppuStack_7c")) (; ";")) (} "}"))) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n                  local_58 = (undefined **)0xffff;\n                }\n                else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" (if "if") (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" (( "(") (binary_expression "local_5c == (undefined **)0xffffffff" (identifier "local_5c") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                  local_58 = (undefined **)0xffff;\n                }" ({ "{") (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" (identifier "local_58") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")) (else_clause "else {\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" (else "else") (compound_statement "{\n                  ppuStack_34 = local_5c;\n                  ppuStack_30 = local_58;\n                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;\n                  ppuStack_7c = ppuVar9;\n                  FUN_000efc40();\n                  local_58 = (undefined **)0xffff;\n                  ppuVar9 = ppuStack_7c;\n                }" ({ "{") (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" (identifier "ppuStack_34") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" (identifier "ppuStack_30") (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ****)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&ppuStack_34" (& "&") (identifier "ppuStack_34"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_5 + 0x2c" (identifier "param_5") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed272" (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 "0x1ed272")) (; ";")) (expression_statement "ppuStack_7c = ppuVar9;" (assignment_expression "ppuStack_7c = ppuVar9" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar9")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" (identifier "local_58") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (expression_statement "ppuVar9 = ppuStack_7c;" (assignment_expression "ppuVar9 = ppuStack_7c" (identifier "ppuVar9") (= "=") (identifier "ppuStack_7c")) (; ";")) (} "}")))) (} "}"))) (if_statement "if (*(int *)(*local_64 + 8) == 0) {\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" (if "if") (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001ed61b:\n                ppuVar3 = local_60;\n                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;\n                *(undefined4 *)(puVar16 + -0xc) = 0x5c;\n                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;\n                    \n                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;\n                FUN_000da200();\n              }" ({ "{") (labeled_statement "LAB_001ed61b:\n                ppuVar3 = local_60;" (statement_identifier "LAB_001ed61b") (: ":") (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41a86" (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 "local_60 + -0x41a86" (identifier "local_60") (+ "+") (number_literal "-0x41a86"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x5c" (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 "0x5c")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x131d93" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x131d93"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed636" (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 "0x1ed636")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001ed06b;" (goto "goto") (statement_identifier "LAB_001ed06b") (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" (else "else") (compound_statement "{\n            ppuVar7 = local_54;\n            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }\n            local_58 = (undefined **)0x0;\n            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);\n          }" ({ "{") (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar13 + 0x2b) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2b) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2b) & 2)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2b) & 2" (pointer_expression "*(byte *)(iVar13 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2b)" (( "(") (binary_expression "iVar13 + 0x2b" (identifier "iVar13") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar14 = *local_88;\n              *(int *)(puVar16 + -0xc) = iVar13;\n              *(int **)(puVar16 + -0x10) = local_88;\n              pcVar4 = *(code **)(iVar14 + 0x14);\n              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;\n              ppuVar7 = (undefined **)(*pcVar4)();\n            }" ({ "{") (expression_statement "iVar14 = *local_88;" (assignment_expression "iVar14 = *local_88" (identifier "iVar14") (= "=") (pointer_expression "*local_88" (* "*") (identifier "local_88"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = local_88;" (assignment_expression "*(int **)(puVar16 + -0x10) = local_88" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_88")) (; ";")) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x14);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x14)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(iVar14 + 0x14)" (* "*") (cast_expression "(code **)(iVar14 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x14)" (( "(") (binary_expression "iVar14 + 0x14" (identifier "iVar14") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ecd52" (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 "0x1ecd52")) (; ";")) (expression_statement "ppuVar7 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar7 = (undefined **)(*pcVar4)()" (identifier "ppuVar7") (= "=") (cast_expression "(undefined **)(*pcVar4)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" (identifier "local_58") (= "=") (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 *)(iVar13 + 0x2c) >> 1 & 1) == 0);" (assignment_expression "local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" (identifier "local_50") (= "=") (binary_expression "2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" (number_literal "2") (- "-") (parenthesized_expression "((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0" (parenthesized_expression "(*(byte *)(iVar13 + 0x2c) >> 1 & 1)" (( "(") (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1 & 1" (binary_expression "*(byte *)(iVar13 + 0x2c) >> 1" (pointer_expression "*(byte *)(iVar13 + 0x2c)" (* "*") (cast_expression "(byte *)(iVar13 + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 0x2c)" (( "(") (binary_expression "iVar13 + 0x2c" (identifier "iVar13") (+ "+") (number_literal "0x2c")) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1ecf40:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }\n          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;\n          piVar8 = (int *)FUN_0015f960();\n          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;\n          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);\n          if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }\n          break;" (case "case") (cast_expression "(undefined *)0x1ecf40" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ecf40")) (: ":") (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" (identifier "bVar11") (= "=") (binary_expression "bVar12 & 7" (identifier "bVar12") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x001ecf43:\n          if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" (statement_identifier "code_r0x001ecf43") (: ":") (if_statement "if (bVar11 != 2) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(bVar11 != 2)" (( "(") (binary_expression "bVar11 != 2" (identifier "bVar11") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;\n            *(undefined4 *)(puVar16 + -0xc) = 200;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b" (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 "local_60 + -0x41b8b" (identifier "local_60") (+ "+") (number_literal "-0x41b8b"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 200;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 200" (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 "200")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed58e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed58e" (& "&") (identifier "UNK_001ed58e"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);" (assignment_expression "*(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8)" (pointer_expression "*(undefined4 *)(puVar16 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar13 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar13 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ecf5a" (& "&") (identifier "UNK_001ecf5a"))) (; ";")) (expression_statement "piVar8 = (int *)FUN_0015f960();" (assignment_expression "piVar8 = (int *)FUN_0015f960()" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_0015f960()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0015f960()" (identifier "FUN_0015f960") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto code_r0x001ecfb0;" (goto "goto") (statement_identifier "code_r0x001ecfb0") (; ";"))) (expression_statement "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);" (assignment_expression "ppuVar7 = *(undefined ***)(*piVar8 + 0x2c)" (identifier "ppuVar7") (= "=") (pointer_expression "*(undefined ***)(*piVar8 + 0x2c)" (* "*") (cast_expression "(undefined ***)(*piVar8 + 0x2c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar8 + 0x2c)" (( "(") (binary_expression "*piVar8 + 0x2c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (ppuVar7 == local_60 + -0xcba68) {\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }\n          else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" (if "if") (parenthesized_expression "(ppuVar7 == local_60 + -0xcba68)" (( "(") (binary_expression "ppuVar7 == local_60 + -0xcba68" (identifier "ppuVar7") (== "==") (binary_expression "local_60 + -0xcba68" (identifier "local_60") (+ "+") (number_literal "-0xcba68"))) () ")")) (compound_statement "{\n            local_58 = (undefined **)piVar8[0x18];\n            ppuVar7 = local_54;\n            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;\n          }" ({ "{") (expression_statement "local_58 = (undefined **)piVar8[0x18];" (assignment_expression "local_58 = (undefined **)piVar8[0x18]" (identifier "local_58") (= "=") (cast_expression "(undefined **)piVar8[0x18]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "piVar8[0x18]" (identifier "piVar8") ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;" (if "if") (parenthesized_expression "(local_58 == (undefined **)0xffffffff)" (( "(") (binary_expression "local_58 == (undefined **)0xffffffff" (identifier "local_58") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_001ed7db;" (goto "goto") (statement_identifier "LAB_001ed7db") (; ";"))) (} "}")) (else_clause "else {\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" (else "else") (compound_statement "{\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;\n            local_58 = (undefined **)(*(code *)ppuVar7)();\n            ppuVar7 = local_54;\n          }" ({ "{") (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed366" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed366" (& "&") (identifier "UNK_001ed366"))) (; ";")) (expression_statement "local_58 = (undefined **)(*(code *)ppuVar7)();" (assignment_expression "local_58 = (undefined **)(*(code *)ppuVar7)()" (identifier "local_58") (= "=") (cast_expression "(undefined **)(*(code *)ppuVar7)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)ppuVar7)()" (parenthesized_expression "(*(code *)ppuVar7)" (( "(") (pointer_expression "*(code *)ppuVar7" (* "*") (cast_expression "(code *)ppuVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar7"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1ecfa0:\nLAB_001ecfa0:\n          local_58 = (undefined **)0x0;\n          ppuVar7 = local_54;\n          break;" (case "case") (cast_expression "(undefined *)0x1ecfa0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ecfa0")) (: ":") (labeled_statement "LAB_001ecfa0:\n          local_58 = (undefined **)0x0;" (statement_identifier "LAB_001ecfa0") (: ":") (expression_statement "local_58 = (undefined **)0x0;" (assignment_expression "local_58 = (undefined **)0x0" (identifier "local_58") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1ecfb0:\ncode_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;\n          ppuVar7 = local_54;\n          break;" (case "case") (cast_expression "(undefined *)0x1ecfb0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ecfb0")) (: ":") (labeled_statement "code_r0x001ecfb0:\n          local_58 = (undefined **)0xfff1;" (statement_identifier "code_r0x001ecfb0") (: ":") (expression_statement "local_58 = (undefined **)0xfff1;" (assignment_expression "local_58 = (undefined **)0xfff1" (identifier "local_58") (= "=") (cast_expression "(undefined **)0xfff1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfff1"))) (; ";"))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (undefined *)0x1ecfc0:\n          bVar11 = bVar12 & 7;\ncode_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }\n          piVar8 = *(int **)(iVar13 + 8);\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x2c);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;\n          local_58 = (undefined **)(*pcVar4)();\n          if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }\n          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;\n          ppuVar7 = local_54;\n          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;\n          iVar14 = *piVar8;\n          *(int **)(puVar16 + -0x10) = piVar8;\n          pcVar4 = *(code **)(iVar14 + 0x24);\n          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;\n          ppuVar9 = (undefined **)(*pcVar4)();\n          if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }\nLAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }\n          ppuVar7 = local_54;\n          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" (case "case") (cast_expression "(undefined *)0x1ecfc0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1ecfc0")) (: ":") (expression_statement "bVar11 = bVar12 & 7;" (assignment_expression "bVar11 = bVar12 & 7" (identifier "bVar11") (= "=") (binary_expression "bVar12 & 7" (identifier "bVar12") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "code_r0x001ecfc3:\n          if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" (statement_identifier "code_r0x001ecfc3") (: ":") (if_statement "if (bVar11 != 1) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(bVar11 != 1)" (( "(") (binary_expression "bVar11 != 1" (identifier "bVar11") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;\n            *(undefined4 *)(puVar16 + -0xc) = 0xb5;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;\n                    \n            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d" (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 "local_60 + -0x41b7d" (identifier "local_60") (+ "+") (number_literal "-0x41b7d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xb5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xb5" (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 "0xb5")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x11d0d2" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed5ae" (& "&") (identifier "UNK_001ed5ae"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar8 = *(int **)(iVar13 + 8);" (assignment_expression "piVar8 = *(int **)(iVar13 + 8)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(iVar13 + 8)" (* "*") (cast_expression "(int **)(iVar13 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar13 + 8)" (( "(") (binary_expression "iVar13 + 8" (identifier "iVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" (identifier "iVar14") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x2c);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x2c)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(iVar14 + 0x2c)" (* "*") (cast_expression "(code **)(iVar14 + 0x2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x2c)" (( "(") (binary_expression "iVar14 + 0x2c" (identifier "iVar14") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ecfd8" (& "&") (identifier "UNK_001ecfd8"))) (; ";")) (expression_statement "local_58 = (undefined **)(*pcVar4)();" (assignment_expression "local_58 = (undefined **)(*pcVar4)()" (identifier "local_58") (= "=") (cast_expression "(undefined **)(*pcVar4)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((undefined **)0xfeff < local_58) {\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" (if "if") (parenthesized_expression "((undefined **)0xfeff < local_58)" (( "(") (binary_expression "(undefined **)0xfeff < local_58" (cast_expression "(undefined **)0xfeff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xfeff")) (< "<") (identifier "local_58")) () ")")) (compound_statement "{\n            if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }\n            if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }\n          }" ({ "{") (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" (if "if") (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" (( "(") (binary_expression "ppuVar3 != (undefined **)0xffffffff" (identifier "ppuVar3") (!= "!=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;\n              ppuStack_34 = ppuVar3;\n              ppuStack_30 = local_58;\n              FUN_000efc40();\n            }" ({ "{") (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ****)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&ppuStack_34" (& "&") (identifier "ppuStack_34"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = param_4 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_4 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_4 + 0x2c" (identifier "param_4") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed003" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed003" (& "&") (identifier "UNK_001ed003"))) (; ";")) (expression_statement "ppuStack_34 = ppuVar3;" (assignment_expression "ppuStack_34 = ppuVar3" (identifier "ppuStack_34") (= "=") (identifier "ppuVar3")) (; ";")) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" (identifier "ppuStack_30") (= "=") (identifier "local_58")) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_5c == (undefined **)0xffffffff) {\n              local_58 = (undefined **)0xffff;\n            }\n            else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" (if "if") (parenthesized_expression "(local_5c == (undefined **)0xffffffff)" (( "(") (binary_expression "local_5c == (undefined **)0xffffffff" (identifier "local_5c") (== "==") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              local_58 = (undefined **)0xffff;\n            }" ({ "{") (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" (identifier "local_58") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")) (else_clause "else {\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" (else "else") (compound_statement "{\n              ppuStack_34 = local_5c;\n              ppuStack_30 = local_58;\n              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;\n              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;\n              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;\n              FUN_000efc40();\n              local_58 = (undefined **)0xffff;\n            }" ({ "{") (expression_statement "ppuStack_34 = local_5c;" (assignment_expression "ppuStack_34 = local_5c" (identifier "ppuStack_34") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "ppuStack_30 = local_58;" (assignment_expression "ppuStack_30 = local_58" (identifier "ppuStack_30") (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34;" (assignment_expression "*(undefined ****)(puVar16 + -0xc) = &ppuStack_34" (pointer_expression "*(undefined ****)(puVar16 + -0xc)" (* "*") (cast_expression "(undefined ****)(puVar16 + -0xc)" (( "(") (type_descriptor "undefined ****" (type_identifier "undefined") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&ppuStack_34" (& "&") (identifier "ppuStack_34"))) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = param_5 + 0x2c;" (assignment_expression "*(int *)(puVar16 + -0x10) = param_5 + 0x2c" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_5 + 0x2c" (identifier "param_5") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed02e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed02e" (& "&") (identifier "UNK_001ed02e"))) (; ";")) (expression_statement "FUN_000efc40();" (call_expression "FUN_000efc40()" (identifier "FUN_000efc40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_58 = (undefined **)0xffff;" (assignment_expression "local_58 = (undefined **)0xffff" (identifier "local_58") (= "=") (cast_expression "(undefined **)0xffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffff"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;" (if "if") (parenthesized_expression "(*(int *)(*local_64 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_64 + 8) == 0" (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001ed61b;" (goto "goto") (statement_identifier "LAB_001ed61b") (; ";"))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(*local_64 + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(*local_64 + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_64 + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(*local_64 + 8) + 0x318d" (pointer_expression "*(int *)(*local_64 + 8)" (* "*") (cast_expression "(int *)(*local_64 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_64 + 8)" (( "(") (binary_expression "*local_64 + 8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar14 = *piVar8;" (assignment_expression "iVar14 = *piVar8" (identifier "iVar14") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "pcVar4 = *(code **)(iVar14 + 0x24);" (assignment_expression "pcVar4 = *(code **)(iVar14 + 0x24)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(iVar14 + 0x24)" (* "*") (cast_expression "(code **)(iVar14 + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar14 + 0x24)" (( "(") (binary_expression "iVar14 + 0x24" (identifier "iVar14") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed05e" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed05e" (& "&") (identifier "UNK_001ed05e"))) (; ";")) (expression_statement "ppuVar9 = (undefined **)(*pcVar4)();" (assignment_expression "ppuVar9 = (undefined **)(*pcVar4)()" (identifier "ppuVar9") (= "=") (cast_expression "(undefined **)(*pcVar4)()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (ppuVar9 == (undefined **)0x0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(ppuVar9 == (undefined **)0x0)" (( "(") (binary_expression "ppuVar9 == (undefined **)0x0" (identifier "ppuVar9") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc81;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc81;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc81" (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 "0xc81")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed7a6" (& "&") (identifier "LAB_001ed7a6"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_001ed06b:\n          if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" (statement_identifier "LAB_001ed06b") (: ":") (if_statement "if (((uint)ppuVar9[7] & 1) == 0) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(((uint)ppuVar9[7] & 1) == 0)" (( "(") (binary_expression "((uint)ppuVar9[7] & 1) == 0" (parenthesized_expression "((uint)ppuVar9[7] & 1)" (( "(") (binary_expression "(uint)ppuVar9[7] & 1" (cast_expression "(uint)ppuVar9[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppuVar9[7]" (identifier "ppuVar9") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;\n            *(undefined4 *)(puVar16 + -0xc) = 0xc5;\n            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f" (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 "local_60 + -0x41b7f" (identifier "local_60") (+ "+") (number_literal "-0x41b7f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xc5" (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 "0xc5")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;" (assignment_expression "*(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469" (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 "local_60 + -0x47469" (identifier "local_60") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed746" (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 "0x1ed746")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "ppuVar7 = local_54;" (assignment_expression "ppuVar7 = local_54" (identifier "ppuVar7") (= "=") (identifier "local_54")) (; ";")) (expression_statement "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);" (assignment_expression "local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1])" (identifier "local_54") (= "=") (cast_expression "(undefined **)((int)local_54 - (int)ppuVar9[1])" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_54 - (int)ppuVar9[1])" (( "(") (binary_expression "(int)local_54 - (int)ppuVar9[1]" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (- "-") (cast_expression "(int)ppuVar9[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar9[1]" (identifier "ppuVar9") ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";"))) (} "}"))) (labeled_statement "LAB_001ecd70:\n        if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" (statement_identifier "LAB_001ecd70") (: ":") (if_statement "if (ppuVar3 != (undefined **)0xffffffff) {\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" (if "if") (parenthesized_expression "(ppuVar3 != (undefined **)0xffffffff)" (( "(") (binary_expression "ppuVar3 != (undefined **)0xffffffff" (identifier "ppuVar3") (!= "!=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }\n          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;\n          *(undefined4 *)(puVar16 + -0xc) = param_2;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = local_54;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;\n          ppuStack_7c = ppuVar7;\n          FUN_001ec3b0();\n          ppuVar7 = ppuStack_7c;\n        }" ({ "{") (if_statement "if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(local_68 <= (uint)((int)ppuVar3 - local_6c))" (( "(") (binary_expression "local_68 <= (uint)((int)ppuVar3 - local_6c)" (identifier "local_68") (<= "<=") (call_expression "(uint)((int)ppuVar3 - local_6c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppuVar3 - local_6c)" (( "(") (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (- "-") (identifier "local_6c")) () ")")))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xca1;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xca1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xca1" (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 "0xca1")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9" (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 "0x1ed6c9")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "((int)ppuVar3 - local_6c) * 0x10 + local_78" (binary_expression "((int)ppuVar3 - local_6c) * 0x10" (parenthesized_expression "((int)ppuVar3 - local_6c)" (( "(") (binary_expression "(int)ppuVar3 - local_6c" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (- "-") (identifier "local_6c")) () ")")) (* "*") (number_literal "0x10")) (+ "+") (identifier "local_78"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x18) = local_54;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = local_54" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" (* "*") (cast_expression "(int *)(puVar16 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" (* "*") (cast_expression "(int *)(puVar16 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecda3" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x24)" (( "(") (binary_expression "puVar16 + -0x24" (identifier "puVar16") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1ecda3")) (; ";")) (expression_statement "ppuStack_7c = ppuVar7;" (assignment_expression "ppuStack_7c = ppuVar7" (identifier "ppuStack_7c") (= "=") (identifier "ppuVar7")) (; ";")) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" (identifier "FUN_001ec3b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar7 = ppuStack_7c;" (assignment_expression "ppuVar7 = ppuStack_7c" (identifier "ppuVar7") (= "=") (identifier "ppuStack_7c")) (; ";")) (} "}")))) (if_statement "if (local_5c != (undefined **)0xffffffff) {\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" (if "if") (parenthesized_expression "(local_5c != (undefined **)0xffffffff)" (( "(") (binary_expression "local_5c != (undefined **)0xffffffff" (identifier "local_5c") (!= "!=") (cast_expression "(undefined **)0xffffffff" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }\n          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;\n          *(int *)(puVar16 + -8) = iVar14;\n          *(undefined4 *)(puVar16 + -0xc) = param_3;\n          *(uint *)(puVar16 + -0x10) = local_50;\n          *(undefined ***)(puVar16 + -0x14) = local_58;\n          *(undefined ***)(puVar16 + -0x18) = ppuVar7;\n          *(int *)(puVar16 + -0x1c) = iVar13;\n          *(int *)(puVar16 + -0x20) = param_1;\n          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;\n          FUN_001ec3b0();\n          piVar8 = *(int **)(*local_64 + 0xc);\n          if (piVar8 == (int *)0x0) goto LAB_001ed672;\n          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);\n          if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }\n        }" ({ "{") (if_statement "if (local_70 <= (uint)((int)local_5c - local_74)) {\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" (if "if") (parenthesized_expression "(local_70 <= (uint)((int)local_5c - local_74))" (( "(") (binary_expression "local_70 <= (uint)((int)local_5c - local_74)" (identifier "local_70") (<= "<=") (call_expression "(uint)((int)local_5c - local_74)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)local_5c - local_74)" (( "(") (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (- "-") (identifier "local_74")) () ")")))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;\n            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;\n                    \n            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;\n            FUN_000da200();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcaa;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcaa" (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 "0xcaa")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_60 + -0x10763f" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;" (assignment_expression "*(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab" (pointer_expression "*(undefined1 **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_001ed6ab" (& "&") (identifier "LAB_001ed6ab"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;" (assignment_expression "iVar14 = local_4c + ((int)local_5c - local_74) * 0x10" (identifier "iVar14") (= "=") (binary_expression "local_4c + ((int)local_5c - local_74) * 0x10" (identifier "local_4c") (+ "+") (binary_expression "((int)local_5c - local_74) * 0x10" (parenthesized_expression "((int)local_5c - local_74)" (( "(") (binary_expression "(int)local_5c - local_74" (cast_expression "(int)local_5c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_5c")) (- "-") (identifier "local_74")) () ")")) (* "*") (number_literal "0x10")))) (; ";")) (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x10) = local_50;" (assignment_expression "*(uint *)(puVar16 + -0x10) = local_50" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x14) = local_58;" (assignment_expression "*(undefined ***)(puVar16 + -0x14) = local_58" (pointer_expression "*(undefined ***)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_58")) (; ";")) (expression_statement "*(undefined ***)(puVar16 + -0x18) = ppuVar7;" (assignment_expression "*(undefined ***)(puVar16 + -0x18) = ppuVar7" (pointer_expression "*(undefined ***)(puVar16 + -0x18)" (* "*") (cast_expression "(undefined ***)(puVar16 + -0x18)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "ppuVar7")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x1c) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0x1c) = iVar13" (pointer_expression "*(int *)(puVar16 + -0x1c)" (* "*") (cast_expression "(int *)(puVar16 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" (* "*") (cast_expression "(int *)(puVar16 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ecddf" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x24)" (( "(") (binary_expression "puVar16 + -0x24" (identifier "puVar16") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1ecddf")) (; ";")) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" (identifier "FUN_001ec3b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = *(int **)(*local_64 + 0xc);" (assignment_expression "piVar8 = *(int **)(*local_64 + 0xc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(*local_64 + 0xc)" (* "*") (cast_expression "(int **)(*local_64 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_64 + 0xc)" (( "(") (binary_expression "*local_64 + 0xc" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar8 == (int *)0x0) goto LAB_001ed672;" (if "if") (parenthesized_expression "(piVar8 == (int *)0x0)" (( "(") (binary_expression "piVar8 == (int *)0x0" (identifier "piVar8") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001ed672;" (goto "goto") (statement_identifier "LAB_001ed672") (; ";"))) (expression_statement "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);" (assignment_expression "ppuVar3 = *(undefined ***)(*piVar8 + 0x9c)" (identifier "ppuVar3") (= "=") (pointer_expression "*(undefined ***)(*piVar8 + 0x9c)" (* "*") (cast_expression "(undefined ***)(*piVar8 + 0x9c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar8 + 0x9c)" (( "(") (binary_expression "*piVar8 + 0x9c" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x9c")) () ")"))))) (; ";")) (if_statement "if (ppuVar3 != local_60 + -0xdbf70) {\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" (if "if") (parenthesized_expression "(ppuVar3 != local_60 + -0xdbf70)" (( "(") (binary_expression "ppuVar3 != local_60 + -0xdbf70" (identifier "ppuVar3") (!= "!=") (binary_expression "local_60 + -0xdbf70" (identifier "local_60") (+ "+") (number_literal "-0xdbf70"))) () ")")) (compound_statement "{\n            *(int *)(puVar16 + -8) = iVar14;\n            *(int *)(puVar16 + -0xc) = iVar13;\n            *(int **)(puVar16 + -0x10) = piVar8;\n            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;\n            (*(code *)ppuVar3)();\n          }" ({ "{") (expression_statement "*(int *)(puVar16 + -8) = iVar14;" (assignment_expression "*(int *)(puVar16 + -8) = iVar14" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar14")) (; ";")) (expression_statement "*(int *)(puVar16 + -0xc) = iVar13;" (assignment_expression "*(int *)(puVar16 + -0xc) = iVar13" (pointer_expression "*(int *)(puVar16 + -0xc)" (* "*") (cast_expression "(int *)(puVar16 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0xc)" (( "(") (binary_expression "puVar16 + -0xc" (identifier "puVar16") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int **)(puVar16 + -0x10) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x10) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x10)" (* "*") (cast_expression "(int **)(puVar16 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed138" (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 "0x1ed138")) (; ";")) (expression_statement "(*(code *)ppuVar3)();" (call_expression "(*(code *)ppuVar3)()" (parenthesized_expression "(*(code *)ppuVar3)" (( "(") (pointer_expression "*(code *)ppuVar3" (* "*") (cast_expression "(code *)ppuVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar3"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_48 = (int *)*local_48;" (assignment_expression "local_48 = (int *)*local_48" (identifier "local_48") (= "=") (cast_expression "(int *)*local_48" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_48" (* "*") (identifier "local_48")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_48 != (int *)0x0)" (( "(") (binary_expression "local_48 != (int *)0x0" (identifier "local_48") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar17 = *(undefined4 **)(param_1 + 0x160);" (assignment_expression "puVar17 = *(undefined4 **)(param_1 + 0x160)" (identifier "puVar17") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x160)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x160)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (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 (puVar17 == *(undefined4 **)(param_1 + 0x164)) {\n    return;\n  }" (if "if") (parenthesized_expression "(puVar17 == *(undefined4 **)(param_1 + 0x164))" (( "(") (binary_expression "puVar17 == *(undefined4 **)(param_1 + 0x164)" (identifier "puVar17") (== "==") (pointer_expression "*(undefined4 **)(param_1 + 0x164)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x164)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (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 "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")))) (; ";")) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" (identifier "iVar13") (= "=") (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";")) (while_statement "while (local_60 = ppuVar3, iVar13 != 0) {\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" (while "while") (parenthesized_expression "(local_60 = ppuVar3, iVar13 != 0)" (( "(") (comma_expression "local_60 = ppuVar3, iVar13 != 0" (assignment_expression "local_60 = ppuVar3" (identifier "local_60") (= "=") (identifier "ppuVar3")) (, ",") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    puVar17 = puVar17 + 1;\n    local_48 = piVar8;\n    if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }\n    uVar6 = local_50 >> 8;\n    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));\n    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;\n    if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }\n    if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }\n    ppuVar3 = local_60;\n    if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }\n    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }\n    piVar8 = (int *)*puVar17;\n    ppuVar3 = local_60;\n    local_48 = piVar8;\n    iVar13 = piVar8[4];\n  }" ({ "{") (expression_statement "puVar17 = puVar17 + 1;" (assignment_expression "puVar17 = puVar17 + 1" (identifier "puVar17") (= "=") (binary_expression "puVar17 + 1" (identifier "puVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" (identifier "local_48") (= "=") (identifier "piVar8")) (; ";")) (if_statement "if (local_4c == 0) {\n      iVar14 = -1;\n    }\n    else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" (if "if") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar14 = -1;\n    }" ({ "{") (expression_statement "iVar14 = -1;" (assignment_expression "iVar14 = -1" (identifier "iVar14") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" (else "else") (compound_statement "{\n      iVar14 = piVar8[5];\n      if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }\n    }" ({ "{") (expression_statement "iVar14 = piVar8[5];" (assignment_expression "iVar14 = piVar8[5]" (identifier "iVar14") (= "=") (subscript_expression "piVar8[5]" (identifier "piVar8") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if (iVar14 == 0) {\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001ed5ce:\n        ppuVar3 = local_60;\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;\n        *(undefined4 *)(puVar16 + -0xc) = 0x19a;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;\n        FUN_000da200();\n      }" ({ "{") (labeled_statement "LAB_001ed5ce:\n        ppuVar3 = local_60;" (statement_identifier "LAB_001ed5ce") (: ":") (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41b71" (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 "local_60 + -0x41b71" (identifier "local_60") (+ "+") (number_literal "-0x41b71"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x19a;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x19a" (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 "0x19a")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec" (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 "0x1ed5ec")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar6 = local_50 >> 8;" (assignment_expression "uVar6 = local_50 >> 8" (identifier "uVar6") (= "=") (binary_expression "local_50 >> 8" (identifier "local_50") (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));" (assignment_expression "local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" (identifier "local_50") (= "=") (call_expression "CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" (identifier "CONCAT31") (argument_list "((int3)uVar6,*(byte *)((int)piVar8 + 0x2a))" (( "(") (cast_expression "(int3)uVar6" (( "(") (type_descriptor "int3" (type_identifier "int3")) () ")") (identifier "uVar6")) (, ",") (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)piVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 + 0x2a)" (( "(") (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (+ "+") (number_literal "0x2a")) () ")")))) () ")")))) (; ";")) (expression_statement "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;" (assignment_expression "bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7" (identifier "bVar12") (= "=") (binary_expression "*(byte *)((int)piVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)piVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)piVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar8 + 0x2a)" (( "(") (binary_expression "(int)piVar8 + 0x2a" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (bVar12 == 3) {\n      uVar6 = 0xfff1;\n    }\n    else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" (if "if") (parenthesized_expression "(bVar12 == 3)" (( "(") (binary_expression "bVar12 == 3" (identifier "bVar12") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      uVar6 = 0xfff1;\n    }" ({ "{") (expression_statement "uVar6 = 0xfff1;" (assignment_expression "uVar6 = 0xfff1" (identifier "uVar6") (= "=") (number_literal "0xfff1")) (; ";")) (} "}")) (else_clause "else {\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" (else "else") (compound_statement "{\n      if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }\n      uVar6 = 0;\n    }" ({ "{") (if_statement "if (bVar12 != 4) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(bVar12 != 4)" (( "(") (binary_expression "bVar12 != 4" (identifier "bVar12") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xccb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;\n        FUN_000da200();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" (identifier "ppuVar3") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xccb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xccb" (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 "0xccb")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed654" (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 "0x1ed654")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (iVar13 != -1) {\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" (if "if") (parenthesized_expression "(iVar13 != -1)" (( "(") (binary_expression "iVar13 != -1" (identifier "iVar13") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;\n      bVar12 = *(byte *)(piVar8 + 10);\n      *(undefined4 *)(puVar16 + -0xc) = param_2;\n      local_50 = uVar6;\n      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;\n      FUN_001ec3b0();\n      uVar6 = local_50;\n    }" ({ "{") (if_statement "if (local_68 <= (uint)(iVar13 - local_6c)) {\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(local_68 <= (uint)(iVar13 - local_6c))" (( "(") (binary_expression "local_68 <= (uint)(iVar13 - local_6c)" (identifier "local_68") (<= "<=") (call_expression "(uint)(iVar13 - local_6c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar13 - local_6c)" (( "(") (binary_expression "iVar13 - local_6c" (identifier "iVar13") (- "-") (identifier "local_6c")) () ")")))) () ")")) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;\n        FUN_000da200();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8" (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 "ppuVar3 + -0x41ba8" (identifier "ppuVar3") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcd1;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcd1" (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 "0xcd1")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed672" (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 "0x1ed672")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(iVar13 - local_6c) * 0x10 + local_78" (binary_expression "(iVar13 - local_6c) * 0x10" (parenthesized_expression "(iVar13 - local_6c)" (( "(") (binary_expression "iVar13 - local_6c" (identifier "iVar13") (- "-") (identifier "local_6c")) () ")")) (* "*") (number_literal "0x10")) (+ "+") (identifier "local_78"))) (; ";")) (expression_statement "bVar12 = *(byte *)(piVar8 + 10);" (assignment_expression "bVar12 = *(byte *)(piVar8 + 10)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(piVar8 + 10)" (* "*") (cast_expression "(byte *)(piVar8 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 10)" (( "(") (binary_expression "piVar8 + 10" (identifier "piVar8") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_2" (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")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_50 = uVar6;" (assignment_expression "local_50 = uVar6" (identifier "local_50") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (call_expression "(uint)(bVar12 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar12 >> 4)" (( "(") (binary_expression "bVar12 >> 4" (identifier "bVar12") (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" (* "*") (cast_expression "(uint *)(puVar16 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" (* "*") (cast_expression "(int *)(puVar16 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" (* "*") (cast_expression "(int **)(puVar16 + -0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" (* "*") (cast_expression "(int *)(puVar16 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1ece97" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x24)" (( "(") (binary_expression "puVar16 + -0x24" (identifier "puVar16") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1ece97")) (; ";")) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" (identifier "FUN_001ec3b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar6 = local_50;" (assignment_expression "uVar6 = local_50" (identifier "uVar6") (= "=") (identifier "local_50")) (; ";")) (} "}"))) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (iVar14 != -1) {\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" (if "if") (parenthesized_expression "(iVar14 != -1)" (( "(") (binary_expression "iVar14 != -1" (identifier "iVar14") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }\n      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;\n      piVar8 = local_48;\n      *(undefined4 *)(puVar16 + -0xc) = param_3;\n      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));\n      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);\n      *(uint *)(puVar16 + -0x14) = uVar6;\n      *(int *)(puVar16 + -0x18) = piVar8[0xc];\n      *(int **)(puVar16 + -0x1c) = piVar8;\n      *(int *)(puVar16 + -0x20) = param_1;\n      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;\n      FUN_001ec3b0();\n    }" ({ "{") (if_statement "if (local_70 <= (uint)(iVar14 - local_74)) {\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" (if "if") (parenthesized_expression "(local_70 <= (uint)(iVar14 - local_74))" (( "(") (binary_expression "local_70 <= (uint)(iVar14 - local_74)" (identifier "local_70") (<= "<=") (call_expression "(uint)(iVar14 - local_74)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar14 - local_74)" (( "(") (binary_expression "iVar14 - local_74" (identifier "iVar14") (- "-") (identifier "local_74")) () ")")))) () ")")) (compound_statement "{\n        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;\n        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;\n        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;\n                    \n        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;\n        FUN_000da200();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8" (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 "local_60 + -0x41ba8" (identifier "local_60") (+ "+") (number_literal "-0x41ba8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0xcdb;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0xcdb" (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 "0xcdb")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x10763f" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x10763f"))) (; ";")) (expression_statement "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;" (assignment_expression "*(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7" (pointer_expression "*(undefined **)(puVar16 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar16 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_001ed6e7" (& "&") (identifier "UNK_001ed6e7"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;" (assignment_expression "*(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c" (pointer_expression "*(int *)(puVar16 + -8)" (* "*") (cast_expression "(int *)(puVar16 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -8)" (( "(") (binary_expression "puVar16 + -8" (identifier "puVar16") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(iVar14 - local_74) * 0x10 + local_4c" (binary_expression "(iVar14 - local_74) * 0x10" (parenthesized_expression "(iVar14 - local_74)" (( "(") (binary_expression "iVar14 - local_74" (identifier "iVar14") (- "-") (identifier "local_74")) () ")")) (* "*") (number_literal "0x10")) (+ "+") (identifier "local_4c"))) (; ";")) (expression_statement "piVar8 = local_48;" (assignment_expression "piVar8 = local_48" (identifier "piVar8") (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = param_3;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = param_3" (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")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));" (assignment_expression "local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" (identifier "local_48") (= "=") (cast_expression "(int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10))" (identifier "CONCAT31") (argument_list "(local_48._1_3_,*(byte *)(piVar8 + 10))" (( "(") (field_expression "local_48._1_3_" (identifier "local_48") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(byte *)(piVar8 + 10)" (* "*") (cast_expression "(byte *)(piVar8 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 10)" (( "(") (binary_expression "piVar8 + 10" (identifier "piVar8") (+ "+") (number_literal "10")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);" (assignment_expression "*(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4)" (pointer_expression "*(uint *)(puVar16 + -0x10)" (* "*") (cast_expression "(uint *)(puVar16 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (call_expression "(uint)(*(byte *)(piVar8 + 10) >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(byte *)(piVar8 + 10) >> 4)" (( "(") (binary_expression "*(byte *)(piVar8 + 10) >> 4" (pointer_expression "*(byte *)(piVar8 + 10)" (* "*") (cast_expression "(byte *)(piVar8 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 10)" (( "(") (binary_expression "piVar8 + 10" (identifier "piVar8") (+ "+") (number_literal "10")) () ")")))) (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar16 + -0x14) = uVar6;" (assignment_expression "*(uint *)(puVar16 + -0x14) = uVar6" (pointer_expression "*(uint *)(puVar16 + -0x14)" (* "*") (cast_expression "(uint *)(puVar16 + -0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x14)" (( "(") (binary_expression "puVar16 + -0x14" (identifier "puVar16") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x18) = piVar8[0xc];" (assignment_expression "*(int *)(puVar16 + -0x18) = piVar8[0xc]" (pointer_expression "*(int *)(puVar16 + -0x18)" (* "*") (cast_expression "(int *)(puVar16 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x18)" (( "(") (binary_expression "puVar16 + -0x18" (identifier "puVar16") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "piVar8[0xc]" (identifier "piVar8") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(int **)(puVar16 + -0x1c) = piVar8;" (assignment_expression "*(int **)(puVar16 + -0x1c) = piVar8" (pointer_expression "*(int **)(puVar16 + -0x1c)" (* "*") (cast_expression "(int **)(puVar16 + -0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar16 + -0x1c)" (( "(") (binary_expression "puVar16 + -0x1c" (identifier "puVar16") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x20) = param_1;" (assignment_expression "*(int *)(puVar16 + -0x20) = param_1" (pointer_expression "*(int *)(puVar16 + -0x20)" (* "*") (cast_expression "(int *)(puVar16 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x20)" (( "(") (binary_expression "puVar16 + -0x20" (identifier "puVar16") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7;" (assignment_expression "*(undefined4 *)(puVar16 + -0x24) = 0x1eced7" (pointer_expression "*(undefined4 *)(puVar16 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar16 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x24)" (( "(") (binary_expression "puVar16 + -0x24" (identifier "puVar16") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1eced7")) (; ";")) (expression_statement "FUN_001ec3b0();" (call_expression "FUN_001ec3b0()" (identifier "FUN_001ec3b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(undefined4 **)(param_1 + 0x164) == puVar17) {\n      return;\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(param_1 + 0x164) == puVar17)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 0x164) == puVar17" (pointer_expression "*(undefined4 **)(param_1 + 0x164)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x164)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x164)" (( "(") (binary_expression "param_1 + 0x164" (identifier "param_1") (+ "+") (number_literal "0x164")) () ")")))) (== "==") (identifier "puVar17")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)*puVar17;" (assignment_expression "piVar8 = (int *)*puVar17" (identifier "piVar8") (= "=") (cast_expression "(int *)*puVar17" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar17" (* "*") (identifier "puVar17")))) (; ";")) (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_48 = piVar8;" (assignment_expression "local_48 = piVar8" (identifier "local_48") (= "=") (identifier "piVar8")) (; ";")) (expression_statement "iVar13 = piVar8[4];" (assignment_expression "iVar13 = piVar8[4]" (identifier "iVar13") (= "=") (subscript_expression "piVar8[4]" (identifier "piVar8") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}"))) (labeled_statement "LAB_001ed5b0:\n  ppuVar3 = local_60;" (statement_identifier "LAB_001ed5b0") (: ":") (expression_statement "ppuVar3 = local_60;" (assignment_expression "ppuVar3 = local_60" (identifier "ppuVar3") (= "=") (identifier "local_60")) (; ";"))) (expression_statement "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;" (assignment_expression "*(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb" (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 "local_60 + -0x41bbb" (identifier "local_60") (+ "+") (number_literal "-0x41bbb"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0xc) = 0x180;" (assignment_expression "*(undefined4 *)(puVar16 + -0xc) = 0x180" (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 "0x180")) (; ";")) (expression_statement "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;" (assignment_expression "*(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2" (pointer_expression "*(int *)(puVar16 + -0x10)" (* "*") (cast_expression "(int *)(puVar16 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar16 + -0x10)" (( "(") (binary_expression "puVar16 + -0x10" (identifier "puVar16") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar3 + -0x11d0d2" (cast_expression "(int)ppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar3")) (+ "+") (number_literal "-0x11d0d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;" (assignment_expression "*(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce" (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 "0x1ed5ce")) (; ";")) (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<32, false>
   DWARF original prototype: void sized_write_globals<32,_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<32,_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 *pGVar2;
  type_2 *pTVar3;
  type_3 **ppuVar4;
  type_4 *p_Var5;
  type_5 **pp_Var6;
  type_5 *p_Var7;
  int *piVar8;
  type_6 *pcVar9;
  int var_8;
  int var_10;
  type_4 **pp_Var12;
  type_7 *pSVar13;
  bool bVar14;
  char cVar15;
  type_8 var_11;
  type_4 *p_Var17;
  type_8 var_5;
  type_9 *pOVar19;
  type_4 *p_Var20;
  type_10 uVar21;
  type_11 bVar22;
  type_11 bVar23;
  type_8 uVar24;
  int var_6;
  type_8 *puVar26;
  type_8 *puVar27;
  type_12 ppSVar28;
  type_8 auStack_a4 [2];
  type_8 var_1 [2];
  type_2 *local_88;
  type_6 *local_84;
  type_4 *local_80;
  type_4 *local_7c;
  type_13 *local_78;
  type_8 local_74;
  type_8 var_12;
  type_8 local_6c;
  type_8 var_4;
  type_14 **local_64;
  type_3 **var_2;
  type_4 *local_5c;
  type_4 *local_58;
  type_4 *local_54;
  type_8 local_50;
  type_13 *local_4c;
  type_7 *local_48;
  int *local_44;
  type_8 local_40;
  type_4 *local_34;
  type_4 *local_30;
  type_4 local_2c [7];
  
  puVar26 = var_1 + 1;
  var_2 = &_GLOBAL_OFFSET_TABLE_;
  local_64 = &parameters;
  local_88 = parameters->target_;
  if (parameters->target_ == (type_2 *)0x0) {
LAB_001ed672:
    ppuVar4 = var_2;
    puVar26[0xfffffffe] = (type_8)(var_2 + -0x41a94);
    puVar26[0xfffffffd] = 0x69;
    puVar26[0xfffffffc] = (int)ppuVar4 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    puVar26[0xfffffffb] = 0x1ed68d;
    var_3((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],(char *)puVar26[0xfffffffe])
    ;
  }
  var_4 = this->output_count_;
  local_6c = this->first_global_index_;
  var_6 = *(int *)((int)&this->offset_ + 4);
  var_5 = (type_8)this->offset_;
  if ((var_4 == 0) || (var_5 == 0 && var_6 == 0)) {
    local_78 = (type_13 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_8)var_7(var_4 * 0x10,var_5),
       var_11 = (type_8)((type_8)of->file_size_ < var_4 * 0x10 + 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_001ed746;
    local_78 = of->base_ + var_5;
  }
  var_12 = this->dynamic_count_;
  local_74 = this->first_dynamic_global_index_;
  var_6 = *(int *)((int)&this->dynamic_offset_ + 4);
  var_5 = (type_8)this->dynamic_offset_;
  if ((var_12 == 0) || (var_5 == 0 && var_6 == 0)) {
    local_4c = (type_13 *)0x0;
  }
  else {
    if ((var_6 < 0) ||
       (var_8 = *(int *)((int)&of->file_size_ + 4),
       var_6 = var_6 + (type_8)var_7(var_12 * 0x10,var_5),
       var_11 = (type_8)((type_8)of->file_size_ < var_12 * 0x10 + 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_001ed746:
                    /* WARNING: Subroutine does not return */
      var_3("../../gold/output.h",0x6f,"get_output_view");
    }
    local_4c = of->base_ + var_5;
  }
  local_48 = (type_7 *)(this->table_)._M_h._M_before_begin._M_nxt;
  puVar26 = var_1 + 1;
  if (local_48 != (type_7 *)0x0) {
    local_84 = (type_6 *)((int)&_GLOBAL_OFFSET_TABLE_ + DAT_0030cbb4);
    puVar26 = var_1 + 1;
    do {
      var_5 = (local_48->u2_).shndx;
      if (((((*(type_11 *)(var_5 + 0x2a) & 7) == 0) &&
           (var_6 = *(int *)(var_5 + 8), (*(type_11 *)(var_6 + 0x2c) & 1) != 0)) &&
          (*(int *)(var_5 + 0xc) == 0)) && (*(type_11 *)(var_5 + 0x28) >> 4 != 2)) {
        pGVar2 = (*local_64)->options_;
        if (pGVar2 == (type_1 *)0x0) goto LAB_001ed61b;
        if ((pGVar2->allow_shlib_undefined_).value == false) {
          pTVar3 = (*local_64)->target_;
          if (pTVar3 == (type_2 *)0x0) goto LAB_001ed672;
          ppuVar4 = (type_3 **)pTVar3->_vptr_Target[7];
          if (ppuVar4 != var_2 + -0xdbf94) {
            puVar26[-3] = var_5;
            puVar26[-4] = (type_8)pTVar3;
            puVar26[-5] = 0x1ed477;
            cVar15 = (*(type_6 *)ppuVar4)();
            if (cVar15 != '\0') goto LAB_001ecc58;
            if ((*(type_11 *)(var_5 + 0x2a) & 7) != 0) goto LAB_001ed48c;
            var_6 = *(int *)(var_5 + 8);
          }
          if ((*(type_11 *)(var_6 + 0x2c) & 0x20) == 0) {
            if (*(int *)(var_6 + 0x5c) == 0) {
              puVar26[-1] = 0;
              puVar26[-2] = (type_8)(var_2 + -0x41bb3);
              puVar26[-3] = 0x3e;
              puVar26[-4] = (type_8)(var_2 + -0x47464);
                    /* WARNING: Subroutine does not return */
              puVar26[-5] = 0x1ed7db;
              var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
            }
            if (*(int *)(var_6 + 0x5c) != 1) {
              puVar26[-4] = var_5;
              puVar26[-5] = 0x1ed410;
              gold_undefined_symbol((type_7 *)puVar26[-4]);
            }
          }
        }
      }
LAB_001ecc58:
      p_Var5 = *(type_4 **)(var_5 + 0x10);
      if (p_Var5 == (type_4 *)0x0) goto LAB_001ed5b0;
      if (local_4c == (type_13 *)0x0) {
        local_5c = (type_4 *)0xffffffff;
        p_Var17 = p_Var5;
      }
      else {
        local_5c = *(type_4 **)(var_5 + 0x14);
        if (local_5c == (type_4 *)0x0) goto LAB_001ed5ce;
        p_Var17 = (type_4 *)((type_8)local_5c & (type_8)p_Var5);
      }
      if (p_Var17 != (type_4 *)0xffffffff) {
        local_54 = *(type_4 **)(var_5 + 0x30);
        local_50 = (type_8)(*(type_11 *)(var_5 + 0x28) >> 4);
        pGVar2 = (*local_64)->options_;
        if (pGVar2 == (type_1 *)0x0) goto LAB_001ed61b;
        bVar23 = *(type_11 *)(var_5 + 0x2a);
        var_11 = bVar23 & 7;
        bVar22 = (type_11)var_11;
        if (((pGVar2->weak_unresolved_symbols_).value != false) && (local_50 == 1)) {
          if (bVar22 == 0) {
            local_58 = *(type_4 **)(var_5 + 0xc);
            if ((local_58 == (type_4 *)0x0) && ((*(type_11 *)(var_5 + 0x2b) >> 5 & 1) != 0))
            {
                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(type_6 *)((int)var_2 + (int)var_2[-0x41d04]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_84)();
            return;
          }
          if (bVar22 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(type_6 *)((int)var_2 + (int)var_2[-0x41d0a]))();
            return;
          }
          if (4 < bVar22) goto LAB_001ed5ec;
          p_Var17 = local_54;
          switch(var_2[var_11 - 0x41d09] + (int)var_2) {
          case (type_3 *)0x1ed0f0:
            local_50 = 1;
            local_58 = (type_4 *)0x0;
            break;
          case (type_3 *)0x1ed110:
            local_50 = 1;
            local_58 = (type_4 *)0xfff1;
            break;
          case (type_3 *)0x1ed300:
            local_50 = 1;
            goto LAB_001ecfc3;
          case (type_3 *)0x1ed310:
            local_50 = 1;
            goto LAB_001ecf43;
          case (type_3 *)0x1ed6e7:
_L1320:
            puVar26[-2] = (type_8)(var_2 + -0x41a8e);
            puVar26[-3] = 0xaa;
            puVar26[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0x1ed705;
            var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          goto LAB_001ecd70;
        }
        if (local_50 == 10) {
          uVar24 = 1;
          if ((pGVar2->gnu_unique_).value != false) {
            uVar24 = local_50;
          }
          local_50 = uVar24;
        }
        if (4 < bVar22) {
LAB_001ed5ec:
          puVar26[-2] = (type_8)(var_2 + -0x41ba8);
          puVar26[-3] = 0xc9b;
          puVar26[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[-5] = 0x1ed60a;
          var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
        }
        switch(var_2[var_11 - 0x41d18] + (int)var_2) {
        case (type_3 *)0x1ecd00:
          if ((bVar23 & 7) != 0) goto _L1320;
          local_58 = *(type_4 **)(var_5 + 0xc);
          bVar22 = *(type_11 *)(var_5 + 0x2b) >> 5;
          bVar23 = bVar22 & 1;
          p_Var17 = local_58;
          if ((local_58 != (type_4 *)0xfff1) && (bVar23 != 1)) {
            local_7c = local_58;
            puVar26[-4] = (type_8)local_58;
            local_80 = (type_4 *)(CONCAT31(local_80._1_3_,bVar22) & 0xffffff01);
            puVar26[-5] = 0x1ed33f;
            bVar14 = type_7::is_common_shndx(puVar26[-4]);
            if (!bVar14) {
              local_80 = local_7c;
              puVar26[-1] = 0x1ed39d;
              demangle((string *)*puVar26,(char *)puVar26[1]);
              local_7c = local_34;
              puVar26[-4] = (type_8)(var_2 + -0x41d21);
              puVar26[-5] = 0x1ed3b7;
              uVar21 = gettext();
              puVar26[-2] = (type_8)local_80;
              puVar26[-3] = (type_8)local_7c;
              puVar26[-4] = uVar21;
                    /* try { // try from 001ed3c6 to 001ed3ca has its CatchHandler @ 001ed7f9 */
              puVar26[-5] = 0x1ed3cb;
              gold_error((char *)puVar26[-4]);
              p_Var17 = local_54;
              if (local_34 != local_2c) {
                puVar26[-4] = (type_8)local_34;
                puVar26[-5] = 0x1ed3e8;
                operator_delete((void *)puVar26[-4]);
                p_Var17 = local_54;
              }
              break;
            }
            p_Var17 = local_7c;
            bVar23 = (type_11)local_80;
            if ((*(type_11 *)(var_5 + 0x2a) & 7) != 0) {
LAB_001ed48c:
              puVar26[-2] = (type_8)(var_2 + -0x41a96);
              puVar26[-3] = 0xa1;
              puVar26[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              puVar26[-5] = (type_8)&UNK_001ed4aa;
              var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
            }
          }
          piVar8 = *(int **)(var_5 + 8);
          if ((*(type_11 *)(piVar8 + 0xb) & 1) == 0) {
            var_6 = *piVar8;
            puVar26[-4] = (type_8)piVar8;
            local_80 = (type_4 *)CONCAT31(local_80._1_3_,bVar23);
            pcVar9 = *(type_6 **)(var_6 + 0x14);
            puVar26[-5] = 0x1ed14f;
            local_7c = p_Var17;
            var_6 = (*pcVar9)();
            if ((local_7c == (type_4 *)0x0) || (var_6 != 0)) goto _L1385;
            if ((type_11)local_80 == '\0') {
              p_Var17 = local_54;
              if (local_7c != (type_4 *)0xfff1) {
                puVar26[-4] = (type_8)local_7c;
                puVar26[-5] = 0x1ed188;
                bVar14 = type_7::is_common_shndx(puVar26[-4]);
                p_Var17 = local_54;
                if (!bVar14) goto LAB_001ed196;
              }
            }
            else {
LAB_001ed196:
              p_Var17 = *(type_4 **)(*piVar8 + 0x60);
              local_80 = (type_4 *)(var_2 + -0xdb9ec);
              if (p_Var17 == (type_4 *)(var_2 + -0xdb9ec)) {
                puVar27 = puVar26;
                if ((type_4 *)(piVar8[0xf] - piVar8[0xe] >> 2) <= local_7c)
                goto LAB_001ed7a6;
                p_Var17 = *(type_4 **)(piVar8[0xe] + (int)local_7c * 4);
                local_58 = local_7c;
              }
              else {
                local_58 = local_7c;
                puVar26[-3] = (type_8)local_7c;
                puVar26[-4] = (type_8)piVar8;
                puVar26[-5] = 0x1ed55d;
                p_Var17 = (type_4 *)(*(type_6 *)p_Var17)();
              }
              local_7c = p_Var17;
              puVar26[-2] = (type_8)local_58;
              puVar26[-3] = (type_8)piVar8;
              puVar26[-4] = (type_8)this;
              puVar26[-5] = 0x1ed1d8;
              bVar14 = is_section_folded((Symbol_table *)puVar26[-4],(Relobj *)puVar26[-3],
                                         puVar26[-2]);
              ppuVar4 = var_2;
              if (bVar14) {
                puVar26[-1] = (type_8)local_58;
                puVar26[-2] = (type_8)piVar8;
                puVar26[-3] = (type_8)this->icf_;
                puVar26[-4] = (type_8)&local_44;
                puVar26[-5] = 0x1ed4d3;
                Icf::get_folded_section((Icf *)puVar26[-3],(Relobj *)puVar26[-2],puVar26[-1]);
                puVar27 = puVar26 + -1;
                if (local_44 == (int *)0x0) {
                  puVar26[-2] = var_5;
                  puVar26[-3] = (type_8)(var_2 + -0x41ba8);
                  puVar26[-4] = 0xc53;
                  puVar26[-5] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-6] = (type_8)&UNK_001ed721;
                  var_3((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
                }
                p_Var17 = *(type_4 **)(*local_44 + 0x60);
                if (p_Var17 == local_80) {
                  if ((type_8)(local_44[0xf] - local_44[0xe] >> 2) <= local_40) {
LAB_001ed7a6:
                    ppuVar4 = var_2;
                    *(type_4 **)((int)puVar27 + -4) = p_Var5;
                    *(type_3 ***)((int)puVar27 + -8) = ppuVar4 + -0x41aa9;
                    *(type_10 *)((int)puVar27 + -0xc) = 0x5c8;
                    *(type_3 ***)((int)puVar27 + -0x10) = ppuVar4 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(type_10 *)((int)puVar27 + -0x14) = 0x1ed7c2;
                    var_3(*(char **)((int)puVar27 + -0x10),
                                        *(int *)((int)puVar27 + -0xc),*(char **)((int)puVar27 + -8))
                    ;
                  }
                  p_Var20 = *(type_4 **)(local_44[0xe] + local_40 * 4);
                }
                else {
                  puVar26[-4] = local_40;
                  puVar26[-5] = (type_8)local_44;
                  puVar26[-6] = 0x1ed611;
                  p_Var20 = (type_4 *)(*(type_6 *)p_Var17)();
                }
                puVar27 = puVar26 + -1;
                if (p_Var20 == (type_4 *)0x0) {
                  puVar26[-2] = (type_8)ppuVar4;
                  puVar26[-3] = (type_8)(var_2 + -0x41ba8);
                  puVar26[-4] = 0xc57;
                  puVar26[-5] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-6] = (type_8)&UNK_001ed52c;
                  var_3((char *)puVar26[-5],puVar26[-4],(char *)puVar26[-3]);
                }
              }
              else {
                p_Var20 = local_7c;
                puVar27 = puVar26;
                if (local_7c == (type_4 *)0x0) {
                  puVar26[-1] = (type_8)local_58;
                  puVar26[-2] = (type_8)(var_2 + -0x41ba8);
                  puVar26[-3] = 0xc59;
                  puVar26[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  puVar26[-5] = 0x1ed77b;
                  var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
                }
              }
              puVar26 = puVar27;
              p_Var17 = p_Var20->_M_nxt[0xb]._M_nxt;
              if (p_Var17 == (type_4 *)(var_2 + -0xcba68)) {
                local_58 = p_Var20[0x18]._M_nxt;
                if (p_Var20[0x18]._M_nxt == (type_4 *)0xffffffff) {
LAB_001ed7db:
                  ppuVar4 = var_2;
                  *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41bb7;
                  *(type_10 *)((int)puVar26 + -0xc) = 0x1043;
                  *(type_3 ***)((int)puVar26 + -0x10) = ppuVar4 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)((int)puVar26 + -0x14) = &LAB_001ed7f9;
                  var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc)
                                      ,*(char **)((int)puVar26 + -8));
                }
              }
              else {
                *(type_4 **)((int)puVar26 + -0x10) = p_Var20;
                *(type_10 *)((int)puVar26 + -0x14) = 0x1ed545;
                local_7c = p_Var20;
                local_58 = (type_4 *)(*(type_6 *)p_Var17)();
                p_Var20 = local_7c;
              }
              if ((type_4 *)0xfeff < local_58) {
                if (p_Var5 != (type_4 *)0xffffffff) {
                  local_30 = local_58;
                  *(type_4 ***)((int)puVar26 + -0xc) = &local_34;
                  local_7c = p_Var20;
                  local_34 = p_Var5;
                  *(Xindex_entries **)((int)puVar26 + -0x10) = &symtab_xindex->entries_;
                  *(type_10 *)((int)puVar26 + -0x14) = 0x1ed241;
                  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)puVar26 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));
                  p_Var20 = local_7c;
                }
                if (local_5c == (type_4 *)0xffffffff) {
                  local_58 = (type_4 *)0xffff;
                }
                else {
                  local_34 = local_5c;
                  local_7c = p_Var20;
                  local_30 = local_58;
                  *(type_4 ***)((int)puVar26 + -0xc) = &local_34;
                  *(Xindex_entries **)((int)puVar26 + -0x10) = &dynsym_xindex->entries_;
                  *(type_10 *)((int)puVar26 + -0x14) = 0x1ed272;
                  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)puVar26 + -0x10),
                             *(pair<unsigned_int,_unsigned_int> **)((int)puVar26 + -0xc));
                  local_58 = (type_4 *)0xffff;
                  p_Var20 = local_7c;
                }
              }
              if ((*local_64)->options_ == (type_1 *)0x0) {
LAB_001ed61b:
                ppuVar4 = var_2;
                *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41a86;
                *(type_10 *)((int)puVar26 + -0xc) = 0x5c;
                *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(type_10 *)((int)puVar26 + -0x14) = 0x1ed636;
                var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                    *(char **)((int)puVar26 + -8));
              }
              p_Var17 = local_54;
              if (((*local_64)->options_->relocatable_).value != false) goto LAB_001ed06b;
            }
          }
          else {
            p_Var17 = local_54;
            if ((*(type_11 *)(var_5 + 0x2b) & 2) != 0) {
              pp_Var6 = local_88->_vptr_Target;
              puVar26[-3] = var_5;
              puVar26[-4] = (type_8)local_88;
              p_Var7 = pp_Var6[5];
              puVar26[-5] = 0x1ecd52;
              p_Var17 = (type_4 *)(*p_Var7)();
            }
            local_58 = (type_4 *)0x0;
            local_50 = 2 - ((*(type_11 *)(var_5 + 0x2c) >> 1 & 1) == 0);
          }
          break;
        case (type_3 *)0x1ecf40:
          bVar22 = bVar23 & 7;
LAB_001ecf43:
          if (bVar22 != 2) {
            puVar26[-2] = (type_8)(var_2 + -0x41b8b);
            puVar26[-3] = 200;
            puVar26[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = (type_8)&UNK_001ed58e;
            var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          puVar26[-4] = *(type_10 *)(var_5 + 8);
          puVar26[-5] = 0x1ecf5a;
          pOVar19 = Output_segment::first_section((Output_segment *)puVar26[-4]);
          if (pOVar19 == (type_9 *)0x0) goto _L1392;
          ppuVar4 = (type_3 **)(pOVar19->super_Output_data)._vptr_Output_data[0xb];
          if (ppuVar4 == var_2 + -0xcba68) {
            local_58 = (type_4 *)pOVar19->out_shndx_;
            p_Var17 = local_54;
            if ((type_4 *)pOVar19->out_shndx_ == (type_4 *)0xffffffff)
            goto LAB_001ed7db;
          }
          else {
            puVar26[-4] = (type_8)pOVar19;
            puVar26[-5] = 0x1ed366;
            local_58 = (type_4 *)(*(type_6 *)ppuVar4)();
            p_Var17 = local_54;
          }
          break;
        case (type_3 *)0x1ecfa0:
_L1385:
          local_58 = (type_4 *)0x0;
          p_Var17 = local_54;
          break;
        case (type_3 *)0x1ecfb0:
_L1392:
          local_58 = (type_4 *)0xfff1;
          p_Var17 = local_54;
          break;
        case (type_3 *)0x1ecfc0:
          bVar22 = bVar23 & 7;
LAB_001ecfc3:
          if (bVar22 != 1) {
            puVar26[-2] = (type_8)(var_2 + -0x41b7d);
            puVar26[-3] = 0xb5;
            puVar26[-4] = (int)var_2 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = (type_8)&UNK_001ed5ae;
            var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
          piVar8 = *(int **)(var_5 + 8);
          var_6 = *piVar8;
          puVar26[-4] = (type_8)piVar8;
          pcVar9 = *(type_6 **)(var_6 + 0x2c);
          puVar26[-5] = 0x1ecfd8;
          local_58 = (type_4 *)(*pcVar9)();
          if ((type_4 *)0xfeff < local_58) {
            if (p_Var5 != (type_4 *)0xffffffff) {
              local_30 = local_58;
              puVar26[-3] = (type_8)&local_34;
              local_34 = p_Var5;
              puVar26[-4] = (type_8)&symtab_xindex->entries_;
              puVar26[-5] = 0x1ed003;
              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>_>_>
                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);
            }
            if (local_5c == (type_4 *)0xffffffff) {
              local_58 = (type_4 *)0xffff;
            }
            else {
              local_34 = local_5c;
              local_30 = local_58;
              puVar26[-3] = (type_8)&local_34;
              puVar26[-4] = (type_8)&dynsym_xindex->entries_;
              puVar26[-5] = 0x1ed02e;
              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>_>_>
                          *)puVar26[-4],(pair<unsigned_int,_unsigned_int> *)puVar26[-3]);
              local_58 = (type_4 *)0xffff;
            }
          }
          if ((*local_64)->options_ == (type_1 *)0x0) goto LAB_001ed61b;
          p_Var17 = local_54;
          if (((*local_64)->options_->relocatable_).value == false) break;
          var_6 = *piVar8;
          puVar26[-4] = (type_8)piVar8;
          pcVar9 = *(type_6 **)(var_6 + 0x24);
          puVar26[-5] = 0x1ed05e;
          p_Var20 = (type_4 *)(*pcVar9)();
          if (p_Var20 == (type_4 *)0x0) {
            puVar26[-2] = (type_8)(var_2 + -0x41ba8);
            puVar26[-3] = 0xc81;
            puVar26[-4] = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            puVar26[-5] = 0x1ed7a6;
            var_3((char *)puVar26[-4],puVar26[-3],(char *)puVar26[-2]);
          }
LAB_001ed06b:
          p_Var17 = local_54;
          if (((type_8)p_Var20[7]._M_nxt & 1) == 0) {
            *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41b7f;
            *(type_10 *)((int)puVar26 + -0xc) = 0xc5;
            *(type_3 ***)((int)puVar26 + -0x10) = var_2 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)puVar26 + -0x14) = 0x1ed746;
            var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          local_54 = (type_4 *)((int)local_54 - (int)p_Var20[1]._M_nxt);
        }
LAB_001ecd70:
        if (p_Var5 != (type_4 *)0xffffffff) {
          if (var_4 <= (int)p_Var5 - local_6c) {
            *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41ba8;
            *(type_10 *)((int)puVar26 + -0xc) = 0xca1;
            *(int *)((int)puVar26 + -0x10) = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)puVar26 + -0x14) = 0x1ed6c9;
            var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          local_7c = p_Var17;
          *(type_13 **)((int)puVar26 + -8) = local_78 + ((int)p_Var5 - local_6c) * 0x10;
          *(Stringpool **)((int)puVar26 + -0xc) = sympool;
          *(type_8 *)((int)puVar26 + -0x10) = local_50;
          *(type_4 **)((int)puVar26 + -0x14) = local_58;
          *(type_4 **)((int)puVar26 + -0x18) = local_54;
          *(type_8 *)((int)puVar26 + -0x1c) = var_5;
          *(Symbol_table **)((int)puVar26 + -0x20) = this;
          *(type_10 *)((int)puVar26 + -0x24) = 0x1ecda3;
          sized_write_symbol<32,_false>
                    (*(Symbol_table **)((int)puVar26 + -0x20),
                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),
                     *(Elf_Addr *)((int)puVar26 + -0x18),*(type_8 *)((int)puVar26 + -0x14),
                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),
                     *(type_13 **)((int)puVar26 + -8));
          p_Var17 = local_7c;
        }
        if (local_5c != (type_4 *)0xffffffff) {
          if (var_12 <= (int)local_5c - local_74) {
            *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41ba8;
            *(type_10 *)((int)puVar26 + -0xc) = 0xcaa;
            *(int *)((int)puVar26 + -0x10) = (int)var_2 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)puVar26 + -0x14) = 0x1ed6ab;
            var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                                *(char **)((int)puVar26 + -8));
          }
          puVar1 = local_4c + ((int)local_5c - local_74) * 0x10;
          *(type_13 **)((int)puVar26 + -8) = puVar1;
          *(Stringpool **)((int)puVar26 + -0xc) = dynpool;
          *(type_8 *)((int)puVar26 + -0x10) = local_50;
          *(type_4 **)((int)puVar26 + -0x14) = local_58;
          *(type_4 **)((int)puVar26 + -0x18) = p_Var17;
          *(type_8 *)((int)puVar26 + -0x1c) = var_5;
          *(Symbol_table **)((int)puVar26 + -0x20) = this;
          *(type_10 *)((int)puVar26 + -0x24) = 0x1ecddf;
          sized_write_symbol<32,_false>
                    (*(Symbol_table **)((int)puVar26 + -0x20),
                     *(Sized_symbol<32> **)((int)puVar26 + -0x1c),
                     *(Elf_Addr *)((int)puVar26 + -0x18),*(type_8 *)((int)puVar26 + -0x14),
                     *(STB *)((int)puVar26 + -0x10),*(Stringpool **)((int)puVar26 + -0xc),
                     *(type_13 **)((int)puVar26 + -8));
          pTVar3 = (*local_64)->target_;
          if (pTVar3 == (type_2 *)0x0) goto LAB_001ed672;
          ppuVar4 = (type_3 **)pTVar3->_vptr_Target[0x27];
          if (ppuVar4 != var_2 + -0xdbf70) {
            *(type_13 **)((int)puVar26 + -8) = puVar1;
            *(type_8 *)((int)puVar26 + -0xc) = var_5;
            *(type_2 **)((int)puVar26 + -0x10) = pTVar3;
            *(type_10 *)((int)puVar26 + -0x14) = 0x1ed138;
            (*(type_6 *)ppuVar4)();
          }
        }
      }
      pp_Var12 = (type_4 **)&local_48->name_;
      local_48 = (type_7 *)*pp_Var12;
    } while ((type_7 *)*pp_Var12 != (type_7 *)0x0);
  }
  ppSVar28 = (this->target_symbols_).
             super__Vector_base<gold::type_7*,_std::allocator<gold::type_7*>_>._M_impl._M_start;
  if (ppSVar28 ==
      (this->target_symbols_).super__Vector_base<gold::type_7*,_std::allocator<gold::type_7*>_>.
      _M_impl._M_finish) {
    return;
  }
  var_5 = (*ppSVar28)->symtab_index_;
  if (var_5 != 0) {
    local_48 = *ppSVar28;
    do {
      pSVar13 = local_48;
      ppuVar4 = var_2;
      ppSVar28 = ppSVar28 + 1;
      if (local_4c == (type_13 *)0x0) {
        var_11 = 0xffffffff;
      }
      else {
        var_11 = local_48->dynsym_index_;
        if (var_11 == 0) {
LAB_001ed5ce:
          ppuVar4 = var_2;
          *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41b71;
          *(type_10 *)((int)puVar26 + -0xc) = 0x19a;
          *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
          *(type_10 *)((int)puVar26 + -0x14) = 0x1ed5ec;
          var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                              *(char **)((int)puVar26 + -8));
        }
      }
      local_50 = CONCAT31(local_50._1_3_,local_48->field_0x2a);
      bVar23 = local_48->field_0x2a & 7;
      if (bVar23 == 3) {
        uVar24 = 0xfff1;
      }
      else {
        if (bVar23 != 4) {
          puVar26[0xfffffffe] = (type_8)(var_2 + -0x41ba8);
          puVar26[0xfffffffd] = 0xccb;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed654;
          var_3((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        uVar24 = 0;
      }
      if (var_5 != 0xffffffff) {
        if (var_4 <= var_5 - local_6c) {
          puVar26[0xfffffffe] = (type_8)(var_2 + -0x41ba8);
          puVar26[0xfffffffd] = 0xcd1;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed672;
          var_3((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        puVar26[0xfffffffe] = (type_8)(local_78 + (var_5 - local_6c) * 0x10);
        bVar23 = pSVar13->field_0x28;
        puVar26[0xfffffffd] = (type_8)sympool;
        local_50 = uVar24;
        puVar26[0xfffffffc] = (type_8)(bVar23 >> 4);
        puVar26[0xfffffffb] = uVar24;
        puVar26[0xfffffffa] = (type_8)pSVar13[1].name_;
        puVar26[0xfffffff9] = (type_8)pSVar13;
        puVar26[0xfffffff8] = (type_8)this;
        puVar26[0xfffffff7] = 0x1ece97;
        sized_write_symbol<32,_false>
                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],
                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],
                   (Stringpool *)puVar26[0xfffffffd],(type_13 *)puVar26[0xfffffffe]);
        uVar24 = local_50;
      }
      ppuVar4 = var_2;
      if (var_11 != 0xffffffff) {
        if (var_12 <= var_11 - local_74) {
          puVar26[0xfffffffe] = (type_8)(var_2 + -0x41ba8);
          puVar26[0xfffffffd] = 0xcdb;
          puVar26[0xfffffffc] = (int)ppuVar4 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          puVar26[0xfffffffb] = 0x1ed6e7;
          var_3((char *)puVar26[0xfffffffc],puVar26[0xfffffffd],
                              (char *)puVar26[0xfffffffe]);
        }
        puVar26[0xfffffffe] = (type_8)(local_4c + (var_11 - local_74) * 0x10);
        pSVar13 = local_48;
        puVar26[0xfffffffd] = (type_8)dynpool;
        local_48 = (type_7 *)CONCAT31(local_48._1_3_,pSVar13->field_0x28);
        puVar26[0xfffffffc] = (type_8)((type_11)pSVar13->field_0x28 >> 4);
        puVar26[0xfffffffb] = uVar24;
        puVar26[0xfffffffa] = (type_8)pSVar13[1].name_;
        puVar26[0xfffffff9] = (type_8)pSVar13;
        puVar26[0xfffffff8] = (type_8)this;
        puVar26[0xfffffff7] = 0x1eced7;
        sized_write_symbol<32,_false>
                  ((Symbol_table *)puVar26[0xfffffff8],(Sized_symbol<32> *)puVar26[0xfffffff9],
                   puVar26[0xfffffffa],puVar26[0xfffffffb],puVar26[0xfffffffc],
                   (Stringpool *)puVar26[0xfffffffd],(type_13 *)puVar26[0xfffffffe]);
      }
      if ((this->target_symbols_).super__Vector_base<gold::type_7*,_std::allocator<gold::type_7*>_>.
          _M_impl._M_finish == ppSVar28) {
        return;
      }
      local_48 = *ppSVar28;
      var_5 = (*ppSVar28)->symtab_index_;
    } while (var_5 != 0);
  }
LAB_001ed5b0:
  ppuVar4 = var_2;
  *(type_3 ***)((int)puVar26 + -8) = var_2 + -0x41bbb;
  *(type_10 *)((int)puVar26 + -0xc) = 0x180;
  *(int *)((int)puVar26 + -0x10) = (int)ppuVar4 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(type_10 *)((int)puVar26 + -0x14) = 0x1ed5ce;
  var_3(*(char **)((int)puVar26 + -0x10),*(int *)((int)puVar26 + -0xc),
                      *(char **)((int)puVar26 + -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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (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: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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: (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: (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 (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))) (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)))) (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 (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))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (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: (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 declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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)))) (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))) (expression_statement (assignment_expression left: (identifier) right: (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)))) (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (identifier))) (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))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (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: (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (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)))) right: (identifier))) 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: (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: (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: (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: (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: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) 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 (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (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: (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: (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 (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) 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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (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: (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: (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: (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 (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: (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 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 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 (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 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 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))) (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)))))))) (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: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))))))) 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: (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: (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))))))))) (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))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (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: (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: (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: (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))))) (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 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 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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal))))) 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 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 (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))))))))) (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))) (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: (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: (break_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: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 (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: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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 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 (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 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 (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 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: (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)) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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)) 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: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (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))) (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (field_expression argument: (identifier) field: (field_identifier)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (pointer_expression 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (return_statement))) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (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)) 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)

{
  uint uVar1;
  int iVar2;
  undefined **ppuVar3;
  code *pcVar4;
  char cVar5;
  uint uVar6;
  undefined **ppuVar7;
  int *piVar8;
  undefined **ppuVar9;
  undefined4 uVar10;
  byte bVar11;
  uint in_ECX;
  byte bVar12;
  int iVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined4 *puVar17;
  int aiStackY_a4 [2];
  undefined1 auStack_8c [4];
  int *local_88;
  code *local_84;
  undefined **ppuStack_80;
  undefined **ppuStack_7c;
  int local_78;
  int local_74;
  uint local_70;
  int local_6c;
  uint local_68;
  int *local_64;
  undefined **local_60;
  undefined **local_5c;
  undefined **local_58;
  undefined **local_54;
  uint local_50;
  int local_4c;
  int *local_48;
  int *piStack_44;
  uint uStack_40;
  undefined **ppuStack_34;
  undefined **ppuStack_30;
  undefined *apuStack_2c [7];
  
  local_60 = &__DT_PLTGOT;
  puVar16 = auStack_8c;
  local_64 = &DAT_004144e8;
  local_88 = *(int **)(DAT_004144e8 + 0xc);
  if (local_88 == (int *)0x0) {
LAB_001ed672:
    ppuVar3 = local_60;
    *(undefined ***)(puVar16 + -8) = local_60 + -0x41a94;
    *(undefined4 *)(puVar16 + -0xc) = 0x69;
    *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed68d;
    FUN_000da200();
  }
  local_6c = *(int *)(param_1 + 4);
  local_68 = *(uint *)(param_1 + 0x10);
  uVar6 = *(uint *)(param_1 + 0xc);
  uVar1 = *(uint *)(param_1 + 8);
  if ((local_68 == 0) || (in_ECX = uVar1 | uVar6, in_ECX == 0)) {
    local_78 = 0;
  }
  else {
    if (((int)uVar6 < 0) ||
       (iVar14 = uVar6 + CARRY4(local_68 * 0x10,uVar1),
       uVar6 = (uint)(*(uint *)(param_6 + 8) < local_68 * 0x10 + uVar1),
       iVar13 = *(int *)(param_6 + 0xc) - iVar14, in_ECX = iVar13 - uVar6,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar14) != SBORROW4(iVar13,uVar6)) != (int)in_ECX < 0))
    goto LAB_001ed746;
    local_78 = *(int *)(param_6 + 0x10) + uVar1;
  }
  local_74 = *(int *)(param_1 + 0x1c);
  local_70 = *(uint *)(param_1 + 0x20);
  iVar13 = *(int *)(param_1 + 0x18);
  uVar6 = *(uint *)(param_1 + 0x14);
  if ((local_70 == 0) || (uVar6 == 0 && iVar13 == 0)) {
    local_4c = 0;
  }
  else {
    if ((iVar13 < 0) ||
       (iVar13 = iVar13 + (uint)CARRY4(local_70 * 0x10,uVar6),
       uVar1 = (uint)(*(uint *)(param_6 + 8) < local_70 * 0x10 + uVar6),
       iVar14 = *(int *)(param_6 + 0xc) - iVar13, in_ECX = iVar14 - uVar1,
       (SBORROW4(*(int *)(param_6 + 0xc),iVar13) != SBORROW4(iVar14,uVar1)) != (int)in_ECX < 0)) {
LAB_001ed746:
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/output.h",0x6f,"get_output_view",in_ECX);
    }
    local_4c = *(int *)(param_6 + 0x10) + uVar6;
  }
  local_48 = *(int **)(param_1 + 0x2c);
  puVar16 = auStack_8c;
  if (local_48 != (int *)0x0) {
    local_84 = (code *)((int)&__DT_PLTGOT + DAT_0030cbb4);
    puVar16 = auStack_8c;
    do {
      iVar13 = local_48[3];
      if (((((*(byte *)(iVar13 + 0x2a) & 7) == 0) &&
           (iVar14 = *(int *)(iVar13 + 8), (*(byte *)(iVar14 + 0x2c) & 1) != 0)) &&
          (*(int *)(iVar13 + 0xc) == 0)) && (*(byte *)(iVar13 + 0x28) >> 4 != 2)) {
        iVar2 = *(int *)(*local_64 + 8);
        if (iVar2 == 0) goto LAB_001ed61b;
        if (*(char *)(iVar2 + 0x1fd) == '\0') {
          piVar8 = *(int **)(*local_64 + 0xc);
          if (piVar8 == (int *)0x0) goto LAB_001ed672;
          ppuVar3 = *(undefined ***)(*piVar8 + 0x1c);
          if (ppuVar3 != local_60 + -0xdbf94) {
            *(int *)(puVar16 + -0xc) = iVar13;
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed477;
            cVar5 = (*(code *)ppuVar3)();
            if (cVar5 != '\0') goto LAB_001ecc58;
            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) goto LAB_001ed48c;
            iVar14 = *(int *)(iVar13 + 8);
          }
          if ((*(byte *)(iVar14 + 0x2c) & 0x20) == 0) {
            if (*(int *)(iVar14 + 0x5c) == 0) {
              *(undefined4 *)(puVar16 + -4) = 0;
              *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb3;
              *(undefined4 *)(puVar16 + -0xc) = 0x3e;
              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47464;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7db;
              FUN_000da200();
            }
            if (*(int *)(iVar14 + 0x5c) != 1) {
              *(int *)(puVar16 + -0x10) = iVar13;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed410;
              FUN_000d1730();
            }
          }
        }
      }
LAB_001ecc58:
      ppuVar3 = *(undefined ***)(iVar13 + 0x10);
      if (ppuVar3 == (undefined **)0x0) goto LAB_001ed5b0;
      if (local_4c == 0) {
        local_5c = (undefined **)0xffffffff;
        ppuVar7 = ppuVar3;
      }
      else {
        local_5c = *(undefined ***)(iVar13 + 0x14);
        if (local_5c == (undefined **)0x0) goto LAB_001ed5ce;
        ppuVar7 = (undefined **)((uint)local_5c & (uint)ppuVar3);
      }
      if (ppuVar7 != (undefined **)0xffffffff) {
        local_54 = *(undefined ***)(iVar13 + 0x30);
        local_50 = (uint)(*(byte *)(iVar13 + 0x28) >> 4);
        iVar14 = *(int *)(*local_64 + 8);
        if (iVar14 == 0) goto LAB_001ed61b;
        bVar12 = *(byte *)(iVar13 + 0x2a);
        uVar6 = bVar12 & 7;
        bVar11 = (byte)uVar6;
        if ((*(char *)(iVar14 + 0x49b1) != '\0') && (local_50 == 1)) {
          if (bVar11 == 0) {
            local_58 = *(undefined ***)(iVar13 + 0xc);
            if ((local_58 == (undefined **)0x0) && ((*(byte *)(iVar13 + 0x2b) >> 5 & 1) != 0)) {
                    /* WARNING: Could not recover jumptable at 0x001ed389. Too many branches */
                    /* WARNING: Treating indirect jump as call */
              (*(code *)((int)local_60 + (int)local_60[-0x41d04]))();
              return;
            }
                    /* WARNING: Could not recover jumptable at 0x001ed0db. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*local_84)();
            return;
          }
          if (bVar11 == 4) {
                    /* WARNING: Could not recover jumptable at 0x001ed2b5. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            (*(code *)((int)local_60 + (int)local_60[-0x41d0a]))();
            return;
          }
          if (4 < bVar11) goto LAB_001ed5ec;
          ppuVar7 = local_54;
          switch(local_60[uVar6 - 0x41d09] + (int)local_60) {
          case (undefined *)0x1ed0f0:
            local_50 = 1;
            local_58 = (undefined **)0x0;
            break;
          case (undefined *)0x1ed110:
            local_50 = 1;
            local_58 = (undefined **)0xfff1;
            break;
          case (undefined *)0x1ed300:
            local_50 = 1;
            goto code_r0x001ecfc3;
          case (undefined *)0x1ed310:
            local_50 = 1;
            goto code_r0x001ecf43;
          case (undefined *)0x1ed6e7:
code_r0x001ed6e7:
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41a8e;
            *(undefined4 *)(puVar16 + -0xc) = 0xaa;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed705;
            FUN_000da200();
          }
          goto LAB_001ecd70;
        }
        uVar1 = local_50;
        if ((local_50 == 10) && (uVar1 = 1, *(char *)(iVar14 + 0x19a9) != '\0')) {
          uVar1 = local_50;
        }
        local_50 = uVar1;
        if (4 < bVar11) {
LAB_001ed5ec:
          *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
          *(undefined4 *)(puVar16 + -0xc) = 0xc9b;
          *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
          *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed60a;
          FUN_000da200();
        }
        switch(local_60[uVar6 - 0x41d18] + (int)local_60) {
        case (undefined *)0x1ecd00:
          if ((bVar12 & 7) != 0) goto code_r0x001ed6e7;
          local_58 = *(undefined ***)(iVar13 + 0xc);
          bVar11 = *(byte *)(iVar13 + 0x2b) >> 5;
          bVar12 = bVar11 & 1;
          ppuVar7 = local_58;
          if ((local_58 != (undefined **)0xfff1) && (bVar12 != 1)) {
            *(undefined ***)(puVar16 + -0x10) = local_58;
            ppuStack_80 = (undefined **)(CONCAT31(ppuStack_80._1_3_,bVar11) & 0xffffff01);
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed33f;
            ppuStack_7c = local_58;
            cVar5 = FUN_001e6ac0();
            if (cVar5 == '\0') {
              ppuStack_80 = ppuStack_7c;
              *(undefined4 *)(puVar16 + -4) = 0x1ed39d;
              FUN_001e7db0();
              ppuStack_7c = ppuStack_34;
              *(undefined ***)(puVar16 + -0x10) = local_60 + -0x41d21;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3b7;
              uVar10 = gettext();
              *(undefined ***)(puVar16 + -8) = ppuStack_80;
              *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;
              *(undefined4 *)(puVar16 + -0x10) = uVar10;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed3cb;
              FUN_000d1330();
              ppuVar7 = local_54;
              if (ppuStack_34 != apuStack_2c) {
                *(undefined ***)(puVar16 + -0x10) = ppuStack_34;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed3e8;
                FUN_00248220();
                ppuVar7 = local_54;
              }
              break;
            }
            ppuVar7 = ppuStack_7c;
            bVar12 = (byte)ppuStack_80;
            if ((*(byte *)(iVar13 + 0x2a) & 7) != 0) {
LAB_001ed48c:
              *(undefined ***)(puVar16 + -8) = local_60 + -0x41a96;
              *(undefined4 *)(puVar16 + -0xc) = 0xa1;
              *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed4aa;
              FUN_000da200();
            }
          }
          piVar8 = *(int **)(iVar13 + 8);
          if ((*(byte *)(piVar8 + 0xb) & 1) == 0) {
            iVar14 = *piVar8;
            *(int **)(puVar16 + -0x10) = piVar8;
            ppuStack_80 = (undefined **)CONCAT31(ppuStack_80._1_3_,bVar12);
            pcVar4 = *(code **)(iVar14 + 0x14);
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed14f;
            ppuStack_7c = ppuVar7;
            iVar14 = (*pcVar4)();
            if ((ppuStack_7c == (undefined **)0x0) || (iVar14 != 0)) goto LAB_001ecfa0;
            if ((byte)ppuStack_80 == '\0') {
              ppuVar7 = local_54;
              if (ppuStack_7c != (undefined **)0xfff1) {
                *(undefined ***)(puVar16 + -0x10) = ppuStack_7c;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed188;
                cVar5 = FUN_001e6ac0();
                ppuVar7 = local_54;
                if (cVar5 == '\0') goto LAB_001ed196;
              }
            }
            else {
LAB_001ed196:
              ppuVar7 = *(undefined ***)(*piVar8 + 0x60);
              ppuStack_80 = local_60 + -0xdb9ec;
              if (ppuVar7 == ppuStack_80) {
                puVar15 = puVar16;
                if ((undefined **)(piVar8[0xf] - piVar8[0xe] >> 2) <= ppuStack_7c)
                goto LAB_001ed7a6;
                ppuVar7 = *(undefined ***)(piVar8[0xe] + (int)ppuStack_7c * 4);
              }
              else {
                local_58 = ppuStack_7c;
                *(undefined ***)(puVar16 + -0xc) = ppuStack_7c;
                *(int **)(puVar16 + -0x10) = piVar8;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed55d;
                ppuVar7 = (undefined **)(*(code *)ppuVar7)();
                ppuStack_7c = local_58;
              }
              *(undefined ***)(puVar16 + -8) = ppuStack_7c;
              *(int **)(puVar16 + -0xc) = piVar8;
              *(int *)(puVar16 + -0x10) = param_1;
              *(undefined4 *)(puVar16 + -0x14) = 0x1ed1d8;
              local_58 = ppuStack_7c;
              ppuStack_7c = ppuVar7;
              cVar5 = FUN_001e6ec0();
              ppuVar7 = local_60;
              if (cVar5 == '\0') {
                ppuVar9 = ppuStack_7c;
                puVar15 = puVar16;
                if (ppuStack_7c == (undefined **)0x0) {
                  *(undefined ***)(puVar16 + -4) = local_58;
                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0xc) = 0xc59;
                  *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed77b;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar16 + -4) = local_58;
                *(int **)(puVar16 + -8) = piVar8;
                *(undefined4 *)(puVar16 + -0xc) = *(undefined4 *)(param_1 + 0x15c);
                *(int ***)(puVar16 + -0x10) = &piStack_44;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed4d3;
                FUN_000dd700();
                puVar15 = puVar16 + -4;
                if (piStack_44 == (int *)0x0) {
                  *(int *)(puVar16 + -8) = iVar13;
                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0x10) = 0xc53;
                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed721;
                  FUN_000da200();
                }
                ppuVar9 = *(undefined ***)(*piStack_44 + 0x60);
                if (ppuVar9 == ppuStack_80) {
                  if ((uint)(piStack_44[0xf] - piStack_44[0xe] >> 2) <= uStack_40) {
LAB_001ed7a6:
                    ppuVar7 = local_60;
                    *(undefined ***)(puVar15 + -4) = ppuVar3;
                    *(undefined ***)(puVar15 + -8) = ppuVar7 + -0x41aa9;
                    *(undefined4 *)(puVar15 + -0xc) = 0x5c8;
                    *(undefined ***)(puVar15 + -0x10) = ppuVar7 + -0x4746e;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar15 + -0x14) = 0x1ed7c2;
                    FUN_000da200();
                  }
                  ppuVar9 = *(undefined ***)(piStack_44[0xe] + uStack_40 * 4);
                }
                else {
                  *(uint *)(puVar16 + -0x10) = uStack_40;
                  *(int **)(puVar16 + -0x14) = piStack_44;
                  *(undefined4 *)(puVar16 + -0x18) = 0x1ed611;
                  ppuVar9 = (undefined **)(*(code *)ppuVar9)();
                }
                puVar15 = puVar16 + -4;
                if (ppuVar9 == (undefined **)0x0) {
                  *(undefined ***)(puVar16 + -8) = ppuVar7;
                  *(undefined ***)(puVar16 + -0xc) = local_60 + -0x41ba8;
                  *(undefined4 *)(puVar16 + -0x10) = 0xc57;
                  *(int *)(puVar16 + -0x14) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
                  *(undefined **)(puVar16 + -0x18) = &UNK_001ed52c;
                  FUN_000da200();
                }
              }
              puVar16 = puVar15;
              ppuVar7 = *(undefined ***)(*ppuVar9 + 0x2c);
              if (ppuVar7 == local_60 + -0xcba68) {
                local_58 = (undefined **)ppuVar9[0x18];
                if (local_58 == (undefined **)0xffffffff) {
LAB_001ed7db:
                  ppuVar3 = local_60;
                  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bb7;
                  *(undefined4 *)(puVar16 + -0xc) = 0x1043;
                  *(undefined ***)(puVar16 + -0x10) = ppuVar3 + -0x47469;
                    /* WARNING: Subroutine does not return */
                  *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7f9;
                  FUN_000da200();
                }
              }
              else {
                *(undefined ***)(puVar16 + -0x10) = ppuVar9;
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed545;
                ppuStack_7c = ppuVar9;
                local_58 = (undefined **)(*(code *)ppuVar7)();
                ppuVar9 = ppuStack_7c;
              }
              if ((undefined **)0xfeff < local_58) {
                if (ppuVar3 != (undefined **)0xffffffff) {
                  ppuStack_30 = local_58;
                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
                  *(int *)(puVar16 + -0x10) = param_4 + 0x2c;
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed241;
                  ppuStack_7c = ppuVar9;
                  ppuStack_34 = ppuVar3;
                  FUN_000efc40();
                  ppuVar9 = ppuStack_7c;
                }
                if (local_5c == (undefined **)0xffffffff) {
                  local_58 = (undefined **)0xffff;
                }
                else {
                  ppuStack_34 = local_5c;
                  ppuStack_30 = local_58;
                  *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
                  *(int *)(puVar16 + -0x10) = param_5 + 0x2c;
                  *(undefined4 *)(puVar16 + -0x14) = 0x1ed272;
                  ppuStack_7c = ppuVar9;
                  FUN_000efc40();
                  local_58 = (undefined **)0xffff;
                  ppuVar9 = ppuStack_7c;
                }
              }
              if (*(int *)(*local_64 + 8) == 0) {
LAB_001ed61b:
                ppuVar3 = local_60;
                *(undefined ***)(puVar16 + -8) = local_60 + -0x41a86;
                *(undefined4 *)(puVar16 + -0xc) = 0x5c;
                *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x131d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)(puVar16 + -0x14) = 0x1ed636;
                FUN_000da200();
              }
              ppuVar7 = local_54;
              if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) != '\0') goto LAB_001ed06b;
            }
          }
          else {
            ppuVar7 = local_54;
            if ((*(byte *)(iVar13 + 0x2b) & 2) != 0) {
              iVar14 = *local_88;
              *(int *)(puVar16 + -0xc) = iVar13;
              *(int **)(puVar16 + -0x10) = local_88;
              pcVar4 = *(code **)(iVar14 + 0x14);
              *(undefined4 *)(puVar16 + -0x14) = 0x1ecd52;
              ppuVar7 = (undefined **)(*pcVar4)();
            }
            local_58 = (undefined **)0x0;
            local_50 = 2 - ((*(byte *)(iVar13 + 0x2c) >> 1 & 1) == 0);
          }
          break;
        case (undefined *)0x1ecf40:
          bVar11 = bVar12 & 7;
code_r0x001ecf43:
          if (bVar11 != 2) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b8b;
            *(undefined4 *)(puVar16 + -0xc) = 200;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed58e;
            FUN_000da200();
          }
          *(undefined4 *)(puVar16 + -0x10) = *(undefined4 *)(iVar13 + 8);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ecf5a;
          piVar8 = (int *)FUN_0015f960();
          if (piVar8 == (int *)0x0) goto code_r0x001ecfb0;
          ppuVar7 = *(undefined ***)(*piVar8 + 0x2c);
          if (ppuVar7 == local_60 + -0xcba68) {
            local_58 = (undefined **)piVar8[0x18];
            ppuVar7 = local_54;
            if (local_58 == (undefined **)0xffffffff) goto LAB_001ed7db;
          }
          else {
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed366;
            local_58 = (undefined **)(*(code *)ppuVar7)();
            ppuVar7 = local_54;
          }
          break;
        case (undefined *)0x1ecfa0:
LAB_001ecfa0:
          local_58 = (undefined **)0x0;
          ppuVar7 = local_54;
          break;
        case (undefined *)0x1ecfb0:
code_r0x001ecfb0:
          local_58 = (undefined **)0xfff1;
          ppuVar7 = local_54;
          break;
        case (undefined *)0x1ecfc0:
          bVar11 = bVar12 & 7;
code_r0x001ecfc3:
          if (bVar11 != 1) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7d;
            *(undefined4 *)(puVar16 + -0xc) = 0xb5;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
            *(undefined **)(puVar16 + -0x14) = &UNK_001ed5ae;
            FUN_000da200();
          }
          piVar8 = *(int **)(iVar13 + 8);
          iVar14 = *piVar8;
          *(int **)(puVar16 + -0x10) = piVar8;
          pcVar4 = *(code **)(iVar14 + 0x2c);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ecfd8;
          local_58 = (undefined **)(*pcVar4)();
          if ((undefined **)0xfeff < local_58) {
            if (ppuVar3 != (undefined **)0xffffffff) {
              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
              *(int *)(puVar16 + -0x10) = param_4 + 0x2c;
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed003;
              ppuStack_34 = ppuVar3;
              ppuStack_30 = local_58;
              FUN_000efc40();
            }
            if (local_5c == (undefined **)0xffffffff) {
              local_58 = (undefined **)0xffff;
            }
            else {
              ppuStack_34 = local_5c;
              ppuStack_30 = local_58;
              *(undefined ****)(puVar16 + -0xc) = &ppuStack_34;
              *(int *)(puVar16 + -0x10) = param_5 + 0x2c;
              *(undefined **)(puVar16 + -0x14) = &UNK_001ed02e;
              FUN_000efc40();
              local_58 = (undefined **)0xffff;
            }
          }
          if (*(int *)(*local_64 + 8) == 0) goto LAB_001ed61b;
          ppuVar7 = local_54;
          if (*(char *)(*(int *)(*local_64 + 8) + 0x318d) == '\0') break;
          iVar14 = *piVar8;
          *(int **)(puVar16 + -0x10) = piVar8;
          pcVar4 = *(code **)(iVar14 + 0x24);
          *(undefined **)(puVar16 + -0x14) = &UNK_001ed05e;
          ppuVar9 = (undefined **)(*pcVar4)();
          if (ppuVar9 == (undefined **)0x0) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xc81;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed7a6;
            FUN_000da200();
          }
LAB_001ed06b:
          if (((uint)ppuVar9[7] & 1) == 0) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41b7f;
            *(undefined4 *)(puVar16 + -0xc) = 0xc5;
            *(undefined ***)(puVar16 + -0x10) = local_60 + -0x47469;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed746;
            FUN_000da200();
          }
          ppuVar7 = local_54;
          local_54 = (undefined **)((int)local_54 - (int)ppuVar9[1]);
        }
LAB_001ecd70:
        if (ppuVar3 != (undefined **)0xffffffff) {
          if (local_68 <= (uint)((int)ppuVar3 - local_6c)) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xca1;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed6c9;
            FUN_000da200();
          }
          *(int *)(puVar16 + -8) = ((int)ppuVar3 - local_6c) * 0x10 + local_78;
          *(undefined4 *)(puVar16 + -0xc) = param_2;
          *(uint *)(puVar16 + -0x10) = local_50;
          *(undefined ***)(puVar16 + -0x14) = local_58;
          *(undefined ***)(puVar16 + -0x18) = local_54;
          *(int *)(puVar16 + -0x1c) = iVar13;
          *(int *)(puVar16 + -0x20) = param_1;
          *(undefined4 *)(puVar16 + -0x24) = 0x1ecda3;
          ppuStack_7c = ppuVar7;
          FUN_001ec3b0();
          ppuVar7 = ppuStack_7c;
        }
        if (local_5c != (undefined **)0xffffffff) {
          if (local_70 <= (uint)((int)local_5c - local_74)) {
            *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
            *(undefined4 *)(puVar16 + -0xc) = 0xcaa;
            *(int *)(puVar16 + -0x10) = (int)local_60 + -0x10763f;
                    /* WARNING: Subroutine does not return */
            *(undefined1 **)(puVar16 + -0x14) = &LAB_001ed6ab;
            FUN_000da200();
          }
          iVar14 = local_4c + ((int)local_5c - local_74) * 0x10;
          *(int *)(puVar16 + -8) = iVar14;
          *(undefined4 *)(puVar16 + -0xc) = param_3;
          *(uint *)(puVar16 + -0x10) = local_50;
          *(undefined ***)(puVar16 + -0x14) = local_58;
          *(undefined ***)(puVar16 + -0x18) = ppuVar7;
          *(int *)(puVar16 + -0x1c) = iVar13;
          *(int *)(puVar16 + -0x20) = param_1;
          *(undefined4 *)(puVar16 + -0x24) = 0x1ecddf;
          FUN_001ec3b0();
          piVar8 = *(int **)(*local_64 + 0xc);
          if (piVar8 == (int *)0x0) goto LAB_001ed672;
          ppuVar3 = *(undefined ***)(*piVar8 + 0x9c);
          if (ppuVar3 != local_60 + -0xdbf70) {
            *(int *)(puVar16 + -8) = iVar14;
            *(int *)(puVar16 + -0xc) = iVar13;
            *(int **)(puVar16 + -0x10) = piVar8;
            *(undefined4 *)(puVar16 + -0x14) = 0x1ed138;
            (*(code *)ppuVar3)();
          }
        }
      }
      local_48 = (int *)*local_48;
    } while (local_48 != (int *)0x0);
  }
  puVar17 = *(undefined4 **)(param_1 + 0x160);
  if (puVar17 == *(undefined4 **)(param_1 + 0x164)) {
    return;
  }
  piVar8 = (int *)*puVar17;
  iVar13 = piVar8[4];
  ppuVar3 = local_60;
  while (local_60 = ppuVar3, iVar13 != 0) {
    puVar17 = puVar17 + 1;
    local_48 = piVar8;
    if (local_4c == 0) {
      iVar14 = -1;
    }
    else {
      iVar14 = piVar8[5];
      if (iVar14 == 0) {
LAB_001ed5ce:
        ppuVar3 = local_60;
        *(undefined ***)(puVar16 + -8) = local_60 + -0x41b71;
        *(undefined4 *)(puVar16 + -0xc) = 0x19a;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ec;
        FUN_000da200();
      }
    }
    uVar6 = local_50 >> 8;
    local_50 = CONCAT31((int3)uVar6,*(byte *)((int)piVar8 + 0x2a));
    bVar12 = *(byte *)((int)piVar8 + 0x2a) & 7;
    if (bVar12 == 3) {
      uVar6 = 0xfff1;
    }
    else {
      if (bVar12 != 4) {
        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xccb;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed654;
        FUN_000da200();
      }
      uVar6 = 0;
    }
    if (iVar13 != -1) {
      if (local_68 <= (uint)(iVar13 - local_6c)) {
        *(undefined ***)(puVar16 + -8) = ppuVar3 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xcd1;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar16 + -0x14) = 0x1ed672;
        FUN_000da200();
      }
      *(int *)(puVar16 + -8) = (iVar13 - local_6c) * 0x10 + local_78;
      bVar12 = *(byte *)(piVar8 + 10);
      *(undefined4 *)(puVar16 + -0xc) = param_2;
      local_50 = uVar6;
      *(uint *)(puVar16 + -0x10) = (uint)(bVar12 >> 4);
      *(uint *)(puVar16 + -0x14) = uVar6;
      *(int *)(puVar16 + -0x18) = piVar8[0xc];
      *(int **)(puVar16 + -0x1c) = piVar8;
      *(int *)(puVar16 + -0x20) = param_1;
      *(undefined4 *)(puVar16 + -0x24) = 0x1ece97;
      FUN_001ec3b0();
      uVar6 = local_50;
    }
    ppuVar3 = local_60;
    if (iVar14 != -1) {
      if (local_70 <= (uint)(iVar14 - local_74)) {
        *(undefined ***)(puVar16 + -8) = local_60 + -0x41ba8;
        *(undefined4 *)(puVar16 + -0xc) = 0xcdb;
        *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x10763f;
                    /* WARNING: Subroutine does not return */
        *(undefined **)(puVar16 + -0x14) = &UNK_001ed6e7;
        FUN_000da200();
      }
      *(int *)(puVar16 + -8) = (iVar14 - local_74) * 0x10 + local_4c;
      piVar8 = local_48;
      *(undefined4 *)(puVar16 + -0xc) = param_3;
      local_48 = (int *)CONCAT31(local_48._1_3_,*(byte *)(piVar8 + 10));
      *(uint *)(puVar16 + -0x10) = (uint)(*(byte *)(piVar8 + 10) >> 4);
      *(uint *)(puVar16 + -0x14) = uVar6;
      *(int *)(puVar16 + -0x18) = piVar8[0xc];
      *(int **)(puVar16 + -0x1c) = piVar8;
      *(int *)(puVar16 + -0x20) = param_1;
      *(undefined4 *)(puVar16 + -0x24) = 0x1eced7;
      FUN_001ec3b0();
    }
    if (*(undefined4 **)(param_1 + 0x164) == puVar17) {
      return;
    }
    piVar8 = (int *)*puVar17;
    ppuVar3 = local_60;
    local_48 = piVar8;
    iVar13 = piVar8[4];
  }
LAB_001ed5b0:
  ppuVar3 = local_60;
  *(undefined ***)(puVar16 + -8) = local_60 + -0x41bbb;
  *(undefined4 *)(puVar16 + -0xc) = 0x180;
  *(int *)(puVar16 + -0x10) = (int)ppuVar3 + -0x11d0d2;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar16 + -0x14) = 0x1ed5ce;
  FUN_000da200();
}

